JavaScript Object Properties
Properties သည် JavaScript object ၏ အရေးကြီးဆုံးအပိုင်းဖြစ်သည်။
JavaScript Properties
Properties များသည် JavaScript object တစ်ခုနှင့် ဆက်စပ်နေသော တန်ဖိုးများဖြစ်သည်။
JavaScript object သည် အစီအစဥ်မရှိသော ဂုဏ်သတ္တိများ စုစည်းမှုဖြစ်သည်။
Properties များကို အများအားဖြင့် ပြောင်းလဲခြင်း၊ ပေါင်းထည့်ခြင်း၊ ဖျက်ခြင်းများ ပြုလုပ်နိုင်သော်လည်း အချို့မှာ ဖတ်ရန်သာဖြစ်သည်။
JavaScript Properties ကို ဝင်ရောက်ကြည့်ရှုခြင်း။
အရာဝတ္ထုတစ်ခု၏ ပိုင်ဆိုင်မှုကို ဝင်ရောက်ခြင်းအတွက် syntax မှာ-
objectName.property // person.age
သို့မဟုတ်
objectName["property"] // person["age"]
သို့မဟုတ်
objectName[expression] // x = "age"; person[x]
စကားရပ်သည် ပစ္စည်းဥစ္စာအမည်တစ်ခုသို့ အကဲဖြတ်ရပါမည်။
ဥပမာ ၁
person.firstname + " is " + person.age + " years old.";
ဥပမာ ၂
person["firstname"] + " is " + person["age"] + " years old.";
Loop အတွက် JavaScript
JavaScript for...in
ထုတ်ပြန်ချက်သည် အရာဝတ္ထုတစ်ခု၏ ဂုဏ်သတ္တိများကို လှည့်ပတ်သည်။
အထားအသို
for (let variable in object) {
// code to be executed
}
ကွင်း အတွင်းရှိ ကုဒ်တုံးကို for...in
ပစ္စည်းတစ်ခုစီအတွက် တစ်ကြိမ်လုပ်ဆောင်ပါမည်။
အရာဝတ္ထုတစ်ခု၏ ဂုဏ်သတ္တိများကို လှည့်ပတ်ကြည့်ရှုခြင်း-
ဥပမာ
const person = {
fname:" John",
lname:" Doe",
age: 25
};
for (let x in person) {
txt += person[x];
}
Properties အသစ်ထည့်ခြင်း။
၎င်းကို တန်ဖိုးတစ်ခုပေးရုံဖြင့် လက်ရှိအရာဝတ္တုတစ်ခုသို့ ဂုဏ်သတ္တိအသစ်များ ပေါင်းထည့်နိုင်သည်။
လူ၏အရာဝတ္တုသည် ရှိနှင့်ပြီးဖြစ်သည်ဟု ယူဆပါ - ထို့နောက် ၎င်းကို ဂုဏ်သတ္တိအသစ်များ ပေးနိုင်သည်-
ဥပမာ
person.nationality = "English";
Properties ကို ဖျက်ခြင်း။
သော့ချက်စကားလုံး သည် delete
အရာဝတ္ထုတစ်ခုမှ ပစ္စည်းတစ်ခုကို ဖျက်သည်-
ဥပမာ
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person.age;
သို့မဟုတ် လူ["အသက်"]ကို ဖျက်ပစ်ပါ။
ဥပမာ
const person = {
firstName: "John",
lastName: "Doe",
age: 50,
eyeColor: "blue"
};
delete person["age"];
သော့ချက်စကားလုံး သည် delete
ပိုင်ဆိုင်မှုတန်ဖိုးနှင့် ပိုင်ဆိုင်မှုကိုယ်နှိုက်ကို ဖျက်သည်။
ဖျက်ပြီးနောက်၊ ၎င်းကို ထပ်မံမထည့်မီ ပိုင်ဆိုင်မှုကို အသုံးမပြုနိုင်ပါ။
အော်
delete
ပရေတာအား အရာဝတ္ထုဂုဏ်သတ္တိများတွင် အသုံးပြုရန် ဒီဇိုင်းထုတ်ထားသည်။ ၎င်းသည် ကိန်းရှင်များ သို့မဟုတ် လုပ်ဆောင်ချက်များအပေါ် သက်ရောက်မှုမရှိပါ။
ကြိုတင်သတ်မှတ်ထားသော JavaScript အရာဝတ္ထုဂုဏ်သတ္တိများ တွင် delete
အော်ပရေတာအား အသုံးမပြုသင့်ပါ။ ၎င်းသည် သင့်လျှောက်လွှာကို ပျက်စီးစေနိုင်သည်။
Nested အရာဝတ္ထုများ
အရာဝတ္ထုတစ်ခုရှိ တန်ဖိုးများသည် အခြားအရာဝတ္ထုတစ်ခု ဖြစ်နိုင်သည်-
ဥပမာ
myObj = {
name:"John",
age:30,
cars: {
car1:"Ford",
car2:"BMW",
car3:"Fiat"
}
}
အစက်အမှတ်အသား သို့မဟုတ် ကွင်းပိတ်အမှတ်အသားကို အသုံးပြု၍ အစုအဝေးအရာဝတ္ထုများကို သင်ဝင်ရောက်ကြည့်ရှုနိုင်သည်-
ဥပမာ
myObj.cars.car2;
သို့မဟုတ်
ဥပမာ
myObj.cars["car2"];
သို့မဟုတ်
ဥပမာ
myObj["cars"]["car2"];
သို့မဟုတ်
ဥပမာ
let p1 = "cars";
let p2 = "car2";
myObj[p1][p2];
Nested Arrays နှင့် Objects များ
အရာဝတ္ထုများရှိ တန်ဖိုးများသည် array များ ဖြစ်နိုင်ပြီး array များရှိ တန်ဖိုးများသည် အရာဝတ္ထုများ ဖြစ်နိုင်သည်-
ဥပမာ
const myObj =
{
name: "John",
age: 30,
cars: [
{name:"Ford",
models:["Fiesta", "Focus", "Mustang"]},
{name:"BMW", models:["320", "X3", "X5"]},
{name:"Fiat", models:["500", "Panda"]}
]
}
array များအတွင်းရှိ arrays များကိုဝင်ရောက်ရန်၊ array တစ်ခုစီအတွက် for-in loop ကိုသုံးပါ-
ဥပမာ
for (let i in myObj.cars) {
x += "<h1>" + myObj.cars[i].name
+ "</h1>";
for (let j in myObj.cars[i].models) {
x += myObj.cars[i].models[j];
}
}
Property Attributes
ပိုင်ဆိုင်မှုအားလုံးတွင် နာမည်တစ်ခုရှိသည်။ နောက်ပြီး သူတို့မှာလည်း တန်ဖိုးရှိတယ်။
တန်ဖိုးသည် ပိုင်ဆိုင်မှု၏ အင်္ဂါရပ်များထဲမှ တစ်ခုဖြစ်သည်။
အခြားဂုဏ်ရည်များမှာ- စာရင်းယူနိုင်သော၊ ပြင်ဆင်သတ်မှတ်နိုင်သော၊ နှင့် စာရေးနိုင်သည်။
ဤဂုဏ်ရည်တော်များသည် ပိုင်ဆိုင်မှုအား မည်သို့ဝင်ရောက်နိုင်သည်ကို အဓိပ္ပါယ်ဖွင့်ဆိုသည် (၎င်းသည် ဖတ်နိုင်ပါသလား၊ ရေးနိုင်ပါသလား။)
JavaScript တွင်၊ ရည်ညွှန်းချက်အားလုံးကို ဖတ်နိုင်သော်လည်း တန်ဖိုး attribute ကိုသာ ပြောင်းလဲနိုင်သည် (ပိုင်ဆိုင်မှုကို ရေးသားနိုင်မှသာ)။
(ECMAScript 5 တွင် ပိုင်ဆိုင်မှု attribute အားလုံးကို ရယူခြင်းနှင့် သတ်မှတ်ခြင်းအတွက် နည်းလမ်းများ ရှိသည်)
ရှေ့ပြေးပုံစံ ဂုဏ်သတ္တိများ
JavaScript အရာဝတ္ထုများသည် ၎င်းတို့၏ ရှေ့ပြေးပုံစံ၏ ဂုဏ်သတ္တိများကို အမွေဆက်ခံသည်။
သော့ချက်စကားလုံးသည် အ delete
မွေဆက်ခံထားသော ဂုဏ်သတ္တိများကို ဖျက်မည်မဟုတ်သော်လည်း ရှေ့ပြေးပုံစံ ပိုင်ဆိုင်မှုကို ဖျက်ပါက၊ နမူနာပုံစံမှ အမွေဆက်ခံသည့် အရာအားလုံးကို ထိခိုက်စေမည်ဖြစ်သည်။