Цепочки методов в ООП в JavaScript

Можно сделать так, чтобы методы можно было вызывать друг за другом цепочкой. Для этого каждый такой метод должен возвращать this. Давайте попробуем. Добавим соответствующий код в сеттеры нашего класса:

javascriptclass User {
  #name;
  #surn;

  setName(name) {
    this.#name = name;
    return this;
  }
  setSurn(surn) {
    this.#surn = surn;
    return this;
  }
  
  getName() {
    return this.#name;
  }
  getSurn() {
    return this.#surn;
  }
}

Теперь наши сеттеры можно вызывать друг за другом, цепочкой. Давайте проверим. Создадим объект нашего класса:

javascriptlet user = new User;

Вызовем наши сеттеры цепочкой:

javascriptuser.setName('john').setSurn('smit');

Проверим, что значения свойств изменились:

javascriptconsole.log(user.getName());
console.log(user.getSurn());
Задание 1

Сделайте так, чтобы сеттеры класса Employee можно было вызывать цепочкой.