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