Сеттеры аксессоров в ООП в JavaScript

Давайте теперь кроме геттера сделаем еще и сеттер аксессора:

javascriptclass User {
  #name;
  
  get name() {
    return this.#name;
  }
  
  set name(name) {
    this.#name = name;
  }
}

Добавим теперь проверку в сеттере:

javascriptclass User {
  #name;
  
  set name(name) {
    if (name.length > 0) {
      this.#name = name;
    } else {
      throw new Error('name is incorrect');
    }
  }
  get name() {
    return this.#name;
  }
}

Создадим объект класса:

javascriptlet user = new User;

Запишем данные в наше свойство:

javascriptuser.name = 'john';

Попробуем записать некорректную строку и получим ошибку:

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

Реализуйте сеттеры для свойств класса Employee.

Задание 2

Добавьте проверки в сеттеры аксессоров класса Employee.