Svojstva-aksesori u OOP-u u JavaScript-u
Postoje dve vrste svojstava objekta.
Prva vrsta su svojstva-podaci (data properties). Već znamo kako da radimo sa njima. Sva svojstva koja smo koristili do sada su bila svojstva-podaci.
Drugu vrstu svojstava još nismo razmatrali. To su svojstva-aksesori (accessor properties). Po svojoj suštini, to su funkcije koje se koriste za dodelu i dobijanje vrednosti, ali u spoljašnjem kodu izgledaju kao obična svojstva objekta.
Svojstva-aksesori se kreiraju pomoću
ključnih reči get i set napisanih
pri deklaraciji metoda:
class User {
get name() {
}
set name(name) {
}
}
Kao rezultat ovakve deklaracije
naša klasa će posedovati svojstvo
name. Pri tome će pri pokušaju čitanja
ovog svojstva biti pozvan metod,
deklarisan preko get:
let name = user.name;
Pri pokušaju upisa biće pozvan metod,
deklarisan preko set:
user.name = 'john';
Dat je sledeća klasa:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Kreirajte objekat ove klase
i pokušajte da upišete i pročitate
podatke iz svojstva name.