Encadenamiento de métodos en POO en JavaScript

Se puede hacer que los métodos puedan ser llamados uno tras otro en cadena. Para ello, cada uno de estos métodos debe retornar this. Probemos. Añadamos el código correspondiente a los setters de nuestra clase:

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

Ahora nuestros setters pueden llamarse uno tras otro, en cadena. Comprobémoslo. Creemos un objeto de nuestra clase:

javascriptlet user = new User;

Llamemos a nuestros setters en cadena:

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

Comprobemos que los valores de las propiedades han cambiado:

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

Haz que los setters de la clase Employee puedan ser llamados en cadena.