Getters pentru proprietăți imaginare în OOP în JavaScript
Cu ajutorul accesorilor putem crea proprietăți imaginare, care de fapt nu există în obiect. Să ne uităm la un exemplu. Să presupunem că avem o clasă cu două proprietăți publice:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
}
Să creăm o a treia proprietate, care va conține numele și prenumele. Să creăm un accesor pentru aceasta:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
get full() {
return this.name + ' ' + this.surn;
}
}
Să testăm. Să creăm un obiect al clasei, transmițând ca parametri numele și prenumele:
let user = new User('john', 'smit');
Să afișăm valorile proprietăților publice:
console.log(user.name); // 'john'
console.log(user.surn); // 'smit'
Și acum să afișăm valoarea proprietății noastre imaginare:
console.log(user.full); // 'john smit'