Հատկություններ-աքսեսորներ OOP-ում JavaScript-ում
Օբյեկտի հատկությունները երկու տեսակի են։
Առաջին տեսակը տվյալների հատկություններն են (data properties)։ Մենք արդեն գիտենք, թե ինչպես աշխատել դրանց հետ։ Բոլոր այն հատկությունները, որոնք մենք օգտագործել ենք մինչ այժմ, տվյալների հատկություններ են եղել։
Երկրորդ տեսակի հատկությունները մենք դեռ չենք դիտարկել։ Դրանք հատկություններ-աքսեսորներն են (accessor properties)։ Իրենց էությամբ դրանք ֆունկցիաներ են, որոնք օգտագործվում են արժեք նշանակելու և ստանալու համար, սակայն արտաքին կոդում դրանք երևում են որպես օբյեկտի սովորական հատկություններ։
Հատկություններ-աքսեսորներ ստեղծվում են
get և set ծառայողական բառերի միջոցով, որոնք գրվում են
մեթոդները հայտարարելիս։
javascriptclass User {
get name() {
}
set name(name) {
}
}
Նման հայտարարման արդյունքում
մեր դասը կունենա name հատկությունը։
Այդ դեպքում այս հատկությունը կարդալու փորձի ժամանակ
կկանչվի get-ով հայտարարված մեթոդը։
javascriptlet name = user.name;
Գրելու փորձի ժամանակ կկանչվի
set-ով հայտարարված մեթոդը։
javascriptuser.name = 'john';
Տրված է հետևյալ դասը։
javascriptclass Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Ստեղծեք այս դասի օբյեկտ
և փորձեք գրել և կարդալ
տվյալներ name հատկությունից։