Privátne vlastnosti v OOP v JavaScripte
Vlastnosti objektu, ktoré je možné čítať a zapisovať zvonku, sa nazývajú verejné. Existujú aj privátne vlastnosti, ktoré budú prístupné len vnútri triedy.
Mená privátnych vlastností treba
začať symbolom #.
Okrem toho takéto vlastnosti musíme
deklarovať na začiatku kódu triedy.
Urobme to:
class User {
#name;
}
Teraz zapíšme dáta do našej vlastnosti. To môžeme urobiť napríklad v konštruktore triedy:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Urobme teraz metódu, ktorá bude vracať hodnotu našej vlastnosti:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Vytvorme objekt triedy, odovzdaním mena používateľa ako parameter:
let user = new User('john');
Pokus o priamy prístup k našej vlastnosti mimo triedy spôsobí chybu:
console.log(user.#name); // chyba
A volanie našej metódy umožní prečítať túto vlastnosť:
console.log(user.show()); // vypíše 'john'
V triede Employee vytvorte
tri privátne vlastnosti: meno, plat
a vek.
Odovzdajte parametrom konštruktora hodnoty týchto vlastností.
Vytvorte metódu, ktorá vypíše údaje zamestnanca.