Getteri imaginarnih svojstava u OOP-u u JavaScript-u
Pomoću akcesora možemo kreirati imaginarna svojstva, koja u objektu zapravo ne postoje. Pogledajmo primer. Neka imamo klasu sa dva javna svojstva:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
}
Napravimo treće svojstvo, koje će sadržati ime i prezime. Kreirajmo za to svojstvo-akcesor:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
get full() {
return this.name + ' ' + this.surn;
}
}
Proverimo. Kreirajmo objekat klase, prosledivši parametrima ime i prezime:
let user = new User('john', 'smit');
Ispišimo vrednosti javnih svojstava:
console.log(user.name); // 'john'
console.log(user.surn); // 'smit'
A sada ispišimo vrednost našeg imaginarnog svojstva:
console.log(user.full); // 'john smit'