Својства-аксессори у ООП у JavaScript
Постоје два типа својстава објекта.
Први тип су својства-подаци (data properties). Већ знамо како да радимо са њима. Сва својства која смо користили до сада су била својства-подаци.
Други тип својстава још нисмо разматрали. То су својства-аксессори (accessor properties). По својој суштини то су функције, које се користе за додељивање и добијање вредности, али у спољном коду изгледају као обична својства објекта.
Својства-аксессори се креирају помоћу
кључних речи get и set написаних
приликом декларације метода:
class User {
get name() {
}
set name(name) {
}
}
Као резултат такве декларације
наша класа ће поседовати својство
name. Притом, при покушају читања
овог својства ће се позвати метод,
декларисан преко get:
let name = user.name;
При покушају уписа ће се позвати метод,
декларисан преко set:
user.name = 'john';
Дата је следећа класа:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Направите објекат ове класе
и покушајте да уписете и прочитате
податке из својства name.