Hozzáférési tulajdonságok az OOP-ben JavaScriptben
Két típusú tulajdonság létezik egy objektumban.
Az első típus az adattulajdonságok (data properties). Már tudjuk, hogyan kell velük dolgozni. Minden tulajdonság, amit a jelen pillanatig használtunk, adattulajdonság volt.
A második típusú tulajdonságokat még nem vizsgáltuk. Ezek a hozzáférési tulajdonságok (accessor properties). Lényegében ezek olyan függvények, amelyeket értékadásra és értéklekérésre használnak, de a külső kódban hétköznapi objektumtulajdonságoknak tűnnek.
A hozzáférési tulajdonságok a
get és set kulcsszavakkal jönnek létre,
amelyek a metódusok deklarálásakor írandók:
class User {
get name() {
}
set name(name) {
}
}
Egy ilyen deklaráció eredményeképpen
osztályunk rendelkezni fog a
name tulajdonsággal. Ekkor a tulajdonság
olvasásakor a get segítségével deklarált
metódus hívódik meg:
let name = user.name;
Írásakor a set segítségével deklarált
metódus hívódik meg:
user.name = 'john';
Adott a következő osztály:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Hozzon létre egy objektumot ebből az osztályból
és próbáljon meg írni és olvasni
adatot a name tulajdonságból.