Својства-аксесори во ООП во JavaScript

Постојат два типа на својства на објектот.

Првиот тип се својства-податоци (data properties). Ние веќе знаеме како да работиме со нив. Сите својства, кои ги користевме до сегашниот момент, беа својства-податоци.

Вториот тип на својства сè уште не сме ги разгледале. Тоа се својства-аксесори (accessor properties). Во суштина, тоа се функции, кои се користат за доделување и добивање на вредност, но во надворешниот код тие изгледаат како обични својства на објектот.

Својствата-аксесори се создаваат со клучни зборови get и set напишани при декларирање на методите:

javascriptclass User {
  get name() {
  
  }
  set name(name) {
  
  }
}

Како резултат на таквото декларирање нашата класа ќе поседува својство name. Притоа, при обид за читање на ова својство ќе се повика методот, деклариран преку get:

javascriptlet name = user.name;

При обид за запишување ќе се повика методот, деклариран преку set:

javascriptuser.name = 'john';
Задание 1

Дадена е следнава класа:

javascriptclass Employee {
  get name() {
    console.log('get');
  }
  set name(name) {
    console.log('set');
  }
}

Создадете објект од оваа класа и обидете се да запишете и прочитате податоци од својството name.