Īpašību akcesori OOP JavaScript

Ir divu veidu objekta īpašības.

Pirmais veids ir datu īpašības (data properties). Mēs jau zinām, kā ar tām strādāt. Visas īpašības, ko esam izmantojuši līdz šim brīdim, bija datu īpašības.

Otro īpašību veidu mēs vēl neesam apskatījuši. Tās ir īpašību akcesori (accessor properties). Pēc savas būtības tās ir funkcijas, kuras tiek izmantotas vērtības piešķiršanai un iegūšanai, bet ārējā kodā tās izskatās kā parastas objekta īpašības.

Īpašību akcesori tiek izveidoti, izmantojot atslēgvārdus get un set, kas uzrakstīti deklarējot metodes:

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

Šādas deklarācijas rezultātā mūsu klasei būs īpašība name. Šajā gadījumā, mēģinot nolasīt šo īpašību, tiks izsaukta metode, deklarēta ar get:

javascriptlet name = user.name;

Mēģinot veikt ierakstīšanu, tiks izsaukta metode, deklarēta ar set:

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

Dota šāda klase:

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

Izveidojiet šīs klases objektu un pamēģiniet ierakstīt un nolasīt datus no īpašības name.