ဂျပ်တာ အရာဝတ္တု ခွင့်
- အရှေ့လွန်း JS အရာဝတ္တု ပြသ
- နောက်လွန်း JS အရာဝတ္တု ဖွဲ့စည်းသည်
JavaScript အပိုင်းစား (Getter နှင့် Setter)
ECMAScript 5 (2009) က Getter နှင့် Setter ကို အပြောကြားခဲ့သည်。
Getter နှင့် Setter က အပိုင်းစား သတင်း ကို သတ်မှတ်ထားသော အကျိုးဆက်ရာ ကို သတ်မှတ်နိုင်သည်。
JavaScript Getter (get သတ်မှတ်သည်)
အမှတ်အသား ကို အသုံးပြုခြင်း lang
အကျိုးဆက်ရာ ကို အသုံးပြုခြင်း language
အကျိုးဆက်ရာ၏ အကျိုးဆက်ရာ
အကြိမ်
// အရာဝတ္တု ကို ဖန်တီး var person = { firstName: "Bill", lastName : "Gates", language : "en", get lang() { return this.language; } }; // getter ကို အရာဝတ္တု မှ အချက်အလက် ပြန်ပေး document.getElementById("demo").innerHTML = person.lang;
JavaScript Setter (set သတ်မှတ်သည်)
အမှတ်အသား ကို အသုံးပြုခြင်း lang
အကျိုးဆက်ရာ ကို သတ်မှတ်ခြင်း language
အကျိုးဆက်ရာ၏ အကျိုးဆက်ရာ
အကြိမ်
var person = { firstName: "Bill", lastName : "Gates", language : "", set lang(lang) { this.language = lang; } }; // setter ကို အရာဝတ္တု အခြား အချက်အလက် ပြင်ဆင် person.lang = "en"; // အရာဝတ္တု မှ အချက်အလက် ပြန်ပေး document.getElementById("demo").innerHTML = person.language;
JavaScript အကျိုးဆက်ရာ သို့မဟုတ် Getter?
အကျိုးဆက်ရာ 2 နှင့် အကျိုးဆက်ရာ 1 အကြား မတူညီသော အခြေအနေများ အမှတ်အသားများ မှာ ဘယ်ကြောင်းဖြစ်သလဲ?
အကျိုးဆက်ရာ 1
var person = { firstName: "Bill", lastName : "Gates", fullName : function() { return this.firstName + " " + this.lastName; } }; // အကျိုးဆက်ရာ ကို အသုံးပြုခြင့် ဖြင့် အပိုင်းစား သတင်း ကို ပြသခြင်း: document.getElementById("demo").innerHTML = person.fullName();
အကျိုးဆက်ရာ 2
var person = { firstName: "Bill", lastName : "Gates", get fullName() { return this.firstName + " " + this.lastName; } }; // getter ကို အရာဝတ္တု မှ အချက်အလက် ပြန်ပေး document.getElementById("demo").innerHTML = person.fullName;
အကျိုးဆက်ရာ 1 က အကျိုးဆက်ရာ အမှတ်အသား အသုံးပြုသည်: person.fullName()。
အကျိုးဆက်ရာ 2 က အကျိုးဆက်ရာ အမှတ်အသား အပြင်းအထန် သုံးစွဲသည်: person.fullName。
ဒုတိယ အကျိုးဆက်ရာ အရင်းအမြစ် ပို၍ ပရိုမင်းကြီးသည်
သတင်းအရေးအချင်း
getter နှင့် setter ကို အသုံးပြုခြင်းဖြင့် JavaScript က ကြီးကြပ်ထားသော သတင်းအရေးအချင်း ကို ကတိပေးနိုင်သည်。
အကျွန်ုပ် အရာဝတ္တု အချက်အလက် ကို သုံး lang
အကျိုးဆက်ရာ အမှတ်အသား အမြောက်အမြဲ ပြန်လည်ပေးသည် language
ဖောက်ထုတ်ခြင်း၏ အကျိုးဆက်ရာ:
အကြိမ်
// အရာဝတ္တု ကို ဖန်တီး var person = { firstName: "Bill", lastName : "Gates", language : "en", get lang() { return this.language.toUpperCase(); } }; // getter ကို အရာဝတ္တု မှ အချက်အလက် ပြန်ပေး document.getElementById("demo").innerHTML = person.lang;
အကျွန်ုပ် အရာဝတ္တု အချက်အလက် ကို သုံး lang
အချက်အလက် ကို အမြင့်တက် သုံး language
အခြား နည်းလမ်း
အကြိမ်
var person = { firstName: "Bill", lastName : "Gates", language : "", set lang(lang) { this.language = lang.toUpperCase(); } }; // setter ကို အရာဝတ္တု အခြား အချက်အလက် ပြင်ဆင် person.lang = "en"; // အရာဝတ္တု မှ အချက်အလက် ပြန်ပေး document.getElementById("demo").innerHTML = person.language;
Getter နှင့် Setter ကို သုံးရန် ဘာကြောင့်လဲ?
- အရေးပါ သဘောတရ နည်းလမ်း ပြုပြင်
- သဘောတရ ဖြင့် အခြား နည်းလမ်း နှင့် အတူ
- အရေးပါ သုံးသပ် ရှိ
- နောက်ခိုင်း လုပ်ငန်းများ အတွက်
အစစ်တင်စက် အကြိမ်
အကြိမ်
var obj = { counter : 0, get reset() { this.counter = 0; }, get increment() { this.counter++; }, get decrement() { this.counter--; }, set add(value) { this.counter += value; }, set subtract(value) { this.counter -= value; } }; // စစ်ဆေးကြည့် obj.reset; obj.add = 5; obj.subtract = 1; obj.increment; obj.decrement; Object.defineProperty()
Object.defineProperty()
နည်းလမ်းကို သုံးနိုင်သည်
အကြိမ်
// အရာဝတ္တု ဒေါ့က် var obj = {counter : 0}; // ဒေါ့က် ဒါဝင်ချက် Object.defineProperty(obj, "reset", { get : function () {this.counter = 0;} }); Object.defineProperty(obj, "increment", { get : function () {this.counter++;} }); Object.defineProperty(obj, "decrement", { get : function () {this.counter--;} }); Object.defineProperty(obj, "add", { set : function (value) {this.counter += value;} }); Object.defineProperty(obj, "subtract", { set : function (value) {this.counter -= value;} }); // စစ်ဆေးကြည့် obj.reset; obj.add = 5; obj.subtract = 1; obj.increment; obj.decrement;
ဘောရင်ဂျာ အကူအညီ
Internet Explorer 8 သို့ အရှိန် အနည်းဆုံး သုံးစံ အရ ဂျို့ နှင့် ဂျာ မပေါက်ကြောင်း ချက်ချင်း ပြောဆို
အခြေအနေ | 9.0 | အခြေအနေ | အခြေအနေ | အခြေအနေ |
- အရှေ့လွန်း JS အရာဝတ္တု ပြသ
- နောက်လွန်း JS အရာဝတ္တု ဖွဲ့စည်းသည်