Свойства-аксесори в ООП в 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.