JavaScript-da OOBda Accessor xususiyatlari
Ob'ektning ikki turdagi xususiyatlari mavjud.
Birinchi tur bu ma'lumot xususiyatlari (data properties). Biz ular bilan qanday ishlashni allaqachon bilamiz. Hozirgi paytgacha biz foydalangan barcha xususiyatlar ma'lumot xususiyatlari edi.
Ikkinchi turdagi xususiyatlarni biz hali ko'rib chiqmaganmiz. Bu accessor xususiyatlari (accessor properties). Ular o'z mohiyatida qiymat tayinlash va olish uchun ishlatiladigan funksiyalardir, lekin tashqi kodda ular oddiy ob'ekt xususiyati ko'rinishida bo'ladi.
Accessor xususiyatlari metodlarni e'lon qilishda
yozilgan get va set kalit so'zlari yordamida yaratiladi:
class User {
get name() {
}
set name(name) {
}
}
Bunday e'lon natijasida
bizning klassimiz name xususiyatiga
ega bo'ladi. Bunda ushbu xususiyatni o'qishga urinishda
get orqali e'lon qilingan metod
chaqiriladi:
let name = user.name;
Yozishga urinishda set orqali
e'lon qilingan metod chaqiriladi:
user.name = 'john';
Quyidagi klass berilgan:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Ushbu klassning ob'ektini yarating
va name xususiyatiga ma'lumot yozishga va o'qishga
urinib ko'ring.