Savybės-accessoriai OOP JavaScripte

Yra du tipai objekto savybių.

Pirmasis tipas yra savybės-duomenys (data properties). Mes jau žinome, kaip su jomis dirbti. Visos savybės, kurias naudojome iki šiol, buvo savybėmis-duomenimis.

Antrąjį tipą savybių mes dar nesvarstėme. Tai yra savybės-accessoriai (accessor properties). Iš esmės tai yra funkcijos, kurios naudojamos reikšmei priskirti ir gauti, bet išoriniame kode jos atrodo kaip įprastos objekto savybės.

Savybės-accessoriai sukuriami naudojant raktažodžius get ir set parašytus metodų deklaracijos metu:

javascriptclass User {
  get name() {
  
  }
  set name(name) {
  
  }
}

Dėl tokios deklaracijos mūsų klasė turės savybę name. Tuo pačiu, bandant skaityti šią savybę, bus iškviestas metodas, deklaruotas naudojant get:

javascriptlet name = user.name;

Bandant įrašyti, bus iškviestas metodas, deklaruotas naudojant set:

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

Duota ši klasė:

javascriptclass Employee {
  get name() {
    console.log('get');
  }
  set name(name) {
    console.log('set');
  }
}

Sukurkite šios klasės objektą ir pamėginkite įrašyti ir perskaityti duomenis iš savybės name.