Getters för egenskaper i OOP i JavaScript

Låt oss säga att vi har följande klass med privata egenskaper:

javascriptclass User {
  #name;
  #surn;
  
  constructor(name, surn) {
    this.#name = name;
    this.#surn = surn;
  }
}

Som du ser sätts dessa egenskaper en gång när objektet skapas. För tillfället är det dock omöjligt att läsa dessa egenskaper, eftersom de är privata och det inte finns motsvarande metoder för detta.

Låt oss skapa speciella metoder för våra egenskaper som gör det möjligt att läsa dessa egenskaper. Sådana metoder (som kallas getters) bör börja med ordet get, följt av namnet på egenskapen som ska läsas.

Låt oss skapa getters för våra egenskaper:

javascriptclass User {
  #name;
  #surn;
  
  constructor(name, surn) {
    this.#name = name;
    this.#surn = surn;
  }
  
  getName() {
    return this.#name;
  }
  
  getSurn() {
    return this.#surn;
  }
}

Låt oss testa deras funktionalitet. Skapa ett objekt och skicka användardata som parameter:

javascriptlet user = new User('john', 'smit');

Låt oss läsa denna data genom att använda getters:

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

I klassen Employee ska du skapa tre privata egenskaper: namn, lön och ålder.

Задание 2

Skicka värdena för dessa egenskaper som parameter till konstruktorn.

Задание 3

Skapa getters som returnerar värdena för var och en av våra egenskaper.