JavaScript Object တည်ဆောက်သူများ
ဥပမာ
function Person(first, last, age, eye) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eye;
}
constructor functions များကို စာလုံးအကြီးဖြင့် နာမည်ပေးသည့် အလေ့အကျင့်ကောင်းဟု ယူဆပါသည်။
အရာဝတ္ထုအမျိုးအစားများ (အပြာရောင်များ) (အတန်းများ)
ယခင်အခန်းများမှ ဥပမာများကို ကန့်သတ်ထားပါသည်။ ၎င်းတို့သည် အရာဝတ္ထုတစ်ခုတည်းကိုသာ ဖန်တီးသည်။
တစ်ခါတစ်ရံတွင် ကျွန်ုပ်တို့သည် တူညီသော "အမျိုးအစား" အရာဝတ္ထုများစွာကို ဖန်တီးရန်အတွက် " အသေးစိတ် " လိုအပ်ပါသည်။
"object type" ကိုဖန်တီးရန်နည်းလမ်းမှာ object constructor function ကိုအသုံးပြုရန် ဖြစ်သည်။
အပေါ်က ဥပမာမှာ function Person()
object constructor function တစ်ခုပါ။
အမျိုးအစားတူ အရာဝတ္ထုများကို new
သော့ချက်စာလုံးဖြင့် constructor function ကိုခေါ်ခြင်းဖြင့် ဖန်တီးသည်-
const myFather = new Person("John", "Doe", 50, "blue");
const myMother = new Person("Sally", "Rally", 48, "green");
ဒီ Keyword ပါ ။
JavaScript တွင်၊ ဟုခေါ်သော အရာမှာ this
ကုဒ်ကို ပိုင်ဆိုင်သည့် အရာဖြစ်သည်။
အရာဝတ္ထုတစ်ခုတွင် အသုံးပြုသောအခါ ၏တန်ဖိုး this
သည် အရာဝတ္ထုကိုယ်တိုင်ဖြစ်သည်။
constructor function this
တွင် value မရှိပါ။ ၎င်းသည် အရာဝတ္ထုအသစ်ကို အစားထိုးသည်။ အရာဝတ္တုအသစ်တစ်ခုကို ဖန်တီးလိုက်သောအခါ ၏တန်ဖိုးသည် this
အရာဝတ္ထုအသစ်ဖြစ်လာလိမ့်မည်။
this
၎င်းသည် ကိန်းရှင်မဟုတ်ကြောင်း သတိပြုပါ ။ သော့ချက်စာလုံးတစ်ခုဖြစ်သည်။ တန်ဖိုးကို သင်ပြောင်းလို့မရပါဘူး this
။
ပစ္စည်းတစ်ခုကို အရာဝတ္ထုတစ်ခုသို့ ပေါင်းထည့်ခြင်း။
ရှိပြီးသားအရာဝတ္ထုတစ်ခုသို့ ပစ္စည်းအသစ်တစ်ခုထည့်ခြင်းသည် လွယ်ကူသည်-
ဥပမာ
myFather.nationality = "English";
ပိုင်ဆိုင်မှုကို myFather တွင် ထည့်သွင်းပါမည်။ ငါ့အမေအတွက်မဟုတ်ဘူး။ (တခြားသူ၏ ဥစ္စာကို မပြုပါ)။
Object တစ်ခုသို့ Method တစ်ခုထည့်ခြင်း။
ရှိပြီးသားအရာဝတ္ထုတစ်ခုသို့ နည်းလမ်းအသစ်တစ်ခုထည့်ခြင်းသည် လွယ်ကူသည်-
ဥပမာ
myFather.name = function () {
return this.firstName + " " + this.lastName;
};
နည်းလမ်းကို myFather တွင် ထည့်သွင်းပါမည်။ ငါ့အမေအတွက်မဟုတ်ဘူး။ (တခြားသူ၏ ဥစ္စာကို မပြုပါ)။
Constructor တစ်ခုသို့ Property တစ်ခုထည့်ခြင်း။
ပစ္စည်းအသစ်တစ်ခုကို ရှိပြီးသားအရာဝတ္ထုတစ်ခုသို့ သင်ထည့်သွင်းသည့်နည်းအတိုင်း အရာဝတ္ထုတည်ဆောက်သူသို့ ပစ္စည်းအသစ်တစ်ခု ထပ်ထည့်၍မရပါ။
ဥပမာ
Person.nationality = "English";
constructor တစ်ခုသို့ ပစ္စည်းအသစ်တစ်ခုထည့်ရန်၊ constructor function တွင် ၎င်းကိုထည့်ရပါမည်။
ဥပမာ
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
this.nationality = "English";
}
ဤနည်းဖြင့် အရာဝတ္ထုဂုဏ်သတ္တိများသည် ပုံသေတန်ဖိုးများ ရှိနိုင်သည်။
Constructor တစ်ခုသို့ Method တစ်ခုထည့်ခြင်း။
သင်၏ constructor function သည်လည်း နည်းလမ်းများကို သတ်မှတ်နိုင်သည်-
ဥပမာ
function Person(first, last, age, eyecolor) {
this.firstName = first;
this.lastName = last;
this.age = age;
this.eyeColor = eyecolor;
this.name = function() {
return this.firstName + " " + this.lastName;
};
}
လက်ရှိအရာဝတ္တုသို့ နည်းလမ်းအသစ်တစ်ခုကို သင်ထည့်သည့်နည်းအတိုင်း အရာဝတ္ထုတည်ဆောက်သူသို့ နည်းလမ်းအသစ်တစ်ခုကို သင်ထည့်၍မရပါ။
object constructor တွင် method များထည့်ခြင်းကို constructor function အတွင်းတွင် လုပ်ဆောင်ရပါမည်-
ဥပမာ
function Person(firstName, lastName, age, eyeColor) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.eyeColor = eyeColor;
this.changeName = function (name) {
this.lastName = name;
};
}
changeName() လုပ်ဆောင်ချက်သည် လူ၏နောက်ဆုံးအမည်ကို ပိုင်ဆိုင်ရန်အတွက် အမည်တန်ဖိုးကို သတ်မှတ်ပေးသည်။
ယခုသင်ကြိုးစားနိုင်သည်-
myMother.changeName("Doe");
ဤအရာကို myMother နှင့် "အစားထိုးခြင်း" ဖြင့် သင်ပြောနေသော မည်သည့်လူကို JavaScript မှ သိပါသည် ။
Built-in JavaScript တည်ဆောက်သူများ
JavaScript တွင် မူလအရာဝတ္ထုများအတွက် built-in constructors များပါရှိသည်။
new String() // A new String object
new Number() // A new Number object
new Boolean() // A new Boolean object
new Object() // A new Object object
new Array() // A new Array object
new RegExp() // A new RegExp object
new Function() // A new Function object
new Date() // A new Date object
အရာဝတ္ထု သည် Math()
စာရင်းထဲတွင် မရှိပါ။ Math
ကမ္ဘာလုံးဆိုင်ရာအရာဝတ္ထုတစ်ခုဖြစ်သည်။ သော့ချက်စာလုံး ကို new
အသုံးပြု၍မရပါ
Math
။
မင်းသိလား?
အထက်တွင်တွေ့မြင်ရသည့်အတိုင်း JavaScript တွင် မူလဒေတာအမျိုးအစားများ String
၊ Number
နှင့် Boolean
. ဒါပေမယ့် ရှုပ်ထွေးတဲ့ အရာတွေကို ဖန်တီးဖို့ အကြောင်းပြချက်မရှိပါဘူး။ Primitive values တွေက ပိုမြန်ပါတယ်
""
အစား string literals ကိုသုံးပါ new String()
။
50
အစား ဂဏန်းအက္ခရာများကို သုံးပါ new Number()
။
true / false
အစား Boolean literals ကိုသုံးပါ new Boolean()
။
{}
အစား object literals ကိုသုံးပါ new Object()
။
[]
အစား array literals ကိုသုံးပါ new Array()
။
/()/
Pattern literals များအစား pattern literals ကိုသုံးပါ new RegExp()
။
() {}
အစား function expressions ကိုသုံးပါ new Function()
။
ဥပမာ
let x1 = ""; // new primitive string
let x2 = 0; // new primitive number
let x3 = false; // new primitive boolean
const x4 = {}; // new Object object
const x5 = []; // new Array object
const x6 = /()/ // new RegExp object
const x7 = function(){}; // new function
စာတန်းအရာဝတ္ထုများ
ပုံမှန်အားဖြင့်၊ ကြိုးများကို primitives အဖြစ် ဖန်တီးသည်-firstName = "John"
new
သို့သော် သော့ချက်စကားလုံးကို အသုံးပြု၍ strings များကို အရာဝတ္ထုများအဖြစ် ဖန်တီးနိုင်သည် ။
firstName = new String("John")
အခန်း JS Strings တွင် အဘယ်ကြောင့် ကြိုးများကို အရာဝတ္ထုအဖြစ် မဖန်တီးသင့်ကြောင်း လေ့လာပါ ။
နံပါတ်အရာဝတ္ထုများ
သာမာန်အားဖြင့်၊ ဂဏန်းများကို ရှေးဦးအရာများအဖြစ် ဖန်တီးသည်-x = 30
new
သို့သော် နံပါတ်များကို အဓိကစကားလုံးကို အသုံးပြု၍ အရာဝတ္ထုများအဖြစ် ဖန်တီးနိုင်သည် ။
x = new
Number(30)
အခန်း JS Numbers တွင် ကိန်းဂဏာန်းများကို မည်သည့်အရာအဖြစ် မဖန်တီးသင့်သည်ကို လေ့လာပါ ။
Boolean အရာဝတ္ထုများ
သာမာန်အားဖြင့်၊ ဘူလီယံများကို မူလအစအဖြစ် ဖန်တီးသည်-x =
false
new
သို့သော် boolean သည် သော့ချက်စကားလုံးကို အသုံးပြု၍ အရာဝတ္ထုများအဖြစ်လည်း ဖန်တီးနိုင်သည် ။
x = new Boolean(false)
အခန်း JS Booleans တွင် အဘယ်ကြောင့် ဘူလီယံများကို အရာဝတ္ထုအဖြစ် မဖန်တီးသင့်ကြောင်း လေ့လာပါ ။