Lastnosti dostopnikov v OOP v JavaScriptu
Obstajata dve vrsti lastnosti objekta.
Prva vrsta so lastnosti podatkov (data properties). Že vemo, kako delati z njimi. Vse lastnosti, ki smo jih uporabljali do sedaj, so bile lastnosti podatkov.
Druge vrste lastnosti še nismo obravnavali. To so lastnosti dostopniki (accessor properties). V bistvu so to funkcije, ki se uporabljajo za dodelitev in pridobivanje vrednosti, toda v zunanji kodi izgledajo kot običajne lastnosti objekta.
Lastnosti dostopniki se ustvarijo s
ključnimi besedami get in set, napisanimi
pri deklaraciji metod:
class User {
get name() {
}
set name(name) {
}
}
Kot rezultat takšne deklaracije
bo naš razred posedoval lastnost
name. Pri tem bo ob poskusu branja
te lastnosti poklicana metoda,
deklarirana preko get:
let name = user.name;
Ob poskusu pisanja bo poklicana metoda,
deklarirana preko set:
user.name = 'john';
Podan je naslednji razred:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Ustvarite objekt tega razreda
in poskusite zapisati in prebrati
podatke iz lastnosti name.