Metodkedjor i OOP i JavaScript

Det är möjligt att göra så att metoder kan anropas efter varandra i en kedja. För att göra detta måste varje sådan metod returnera this. Låt oss prova. Vi lägger till motsvarande kod i våra klass setters:

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

Nu kan våra setters anropas efter varandra, i kedja. Låt oss testa. Vi skapar ett objekt av vår klass:

javascriptlet user = new User;

Vi anropar våra setters i kedja:

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

Vi kontrollerar att egenskapsvärdena har ändrats:

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

Gör så att setters i klassen Employee kan anropas i kedja.