Prístupové vlastnosti v OOP v JavaScripte
Existujú dva typy vlastností objektu.
Prvý typ sú vlastnosti-dáta (data properties). Už vieme, ako s nimi pracovať. Všetky vlastnosti, ktoré sme používali až do tohto momentu, boli vlastnosťami-dáta.
Druhý typ vlastností sme ešte nepreskúmali. Sú to prístupové vlastnosti (accessor properties). Vo svojej podstate sú to funkcie, ktoré sa používajú na priradenie a získanie hodnoty, ale vo vonkajšom kóde vyzerajú ako bežné vlastnosti objektu.
Prístupové vlastnosti sa vytvárajú pomocou
kľúčových slov get a set napísaných
pri deklarovaní metód:
class User {
get name() {
}
set name(name) {
}
}
Výsledkom takejto deklarácie
náš class bude mať vlastnosť
name. Pri tom pri pokuse o čítanie
tejto vlastnosti bude zavolaná metóda,
deklarovaná cez get:
let name = user.name;
Pri pokuse o zápis bude zavolaná metóda,
deklarovaná cez set:
user.name = 'john';
Daný je nasledujúci class:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Vytvorte object tohto classu
a skúste zapísať a prečítať
dáta z vlastnosti name.