Свойстваҳои-дастрасӣ дар ООП дар JavaScript
Ду намуди хосиятҳои объект вуҷуд доранд.
Намуди аввал хосиятҳои-додаҳо (data properties) мебошанд. Мо аллакай медонем, ки чӣ гуна бо онҳо кор кардан. Ҳамаи хосиятҳо, ки мо то лаҳзаи ҷорӣ истифода карда будем, хосиятҳои-додаҳо буданд.
Намуди дуввуми хосиятҳоро мо то ҳол баррасӣ накардаем. Ин хосиятҳои-аксессор (accessor properties) мебошанд. Дар мобайни худ ин функсияҳо ҳастанд, ки барои бахшидан ва гирифтани арзиш истифода мешаванд, аммо дар коди берунӣ онҳо монанди хосиятҳои оддии объект намоён мешаванд.
Хосиятҳои-аксессор бо ёрии
калимаҳои калидии get ва set, ки ҳангоми
эълони методҳо навишта шудаанд, сохта мешаванд:
class User {
get name() {
}
set name(name) {
}
}
Дар натиҷаи чунин эълон
сinfи мо хосияти
name-ро доро хоҳад буд. Дар ин ҳол ҳангоми кӯшиши хондан
ин хосият метод фаро хонда мешавад,
ки тавассути get эълон шудааст:
let name = user.name;
Ҳангоми кӯшиши сабт метод фаро хонда мешавад,
ки тавассути set эълон шудааст:
user.name = 'john';
Сinfи зерин дода шудааст:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Объекти ин синфро сохта
ва кӯшиш кунед, ки додаҳоро сабт кунед ва хонед
аз хосияти name.