Ī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:
class 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:
let name = user.name;
Mēģinot veikt ierakstīšanu, tiks izsaukta metode,
deklarēta ar set:
user.name = 'john';
Dota šāda klase:
class 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.