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:

javascriptclass 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:

javascriptlet name = user.name;

Pri pokušaju upisa biće pozvan metod, deklarisan preko set:

javascriptuser.name = 'john';
Задание 1

Dat je sledeća klasa:

javascriptclass 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.