Getters för egenskaper i OOP i JavaScript
Låt oss säga att vi har följande klass med privata egenskaper:
class 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:
class 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:
let user = new User('john', 'smit');
Låt oss läsa denna data genom att använda getters:
console.log(user.getName());
console.log(user.getSurn());
I klassen Employee ska du skapa
tre privata egenskaper: namn, lön
och ålder.
Skicka värdena för dessa egenskaper som parameter till konstruktorn.
Skapa getters som returnerar värdena för var och en av våra egenskaper.