Encadeamento de métodos em POO em JavaScript

É possível fazer com que os métodos possam ser chamados um após o outro em uma cadeia. Para isso, cada método desse tipo deve retornar this. Vamos tentar. Adicionaremos o código correspondente aos setters da nossa classe:

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;
  }
}

Agora nossos setters podem ser chamados um após o outro, em cadeia. Vamos testar. Vamos criar um objeto da nossa classe:

javascriptlet user = new User;

Vamos chamar nossos setters em cadeia:

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

Vamos verificar se os valores das propriedades mudaram:

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

Faça com que os setters da classe Employee possam ser chamados em cadeia.