Privačios savybės OOP JavaScripte
Objekto savybės, kurias galima skaityti ir rašyti iš išorės, vadinamos viešosiomis. Taip pat egzistuoja privačios savybės, kurios bus prieinamos tik klasės viduje.
Privačių savybių pavadinimai turi
prasidėti simboliu #.
Be to, šios savybės būtinai turi būti
paskelbtos klasės kodo pradžioje.
Padarykime tai:
class User {
#name;
}
Dabar įrašykime duomenis į mūsų savybę. Tai galima padaryti, pavyzdžiui, klasės konstruktoriuje:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Dabar sukurkime metodą, kuris grąžins mūsų savybės reikšmę:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Sukurkime klasės objektą, perduodant vartotojo vardą parametru:
let user = new User('john');
Bandymas kreiptis tiesiogiai į mūsų savybę už klasės ribų sukels klaidą:
console.log(user.#name); // klaida
O mūsų metodo iškvietimas leis nuskaityti šią savybę:
console.log(user.show()); // išves 'john'
Klasėje Employee sukurkite
tris privačias savybes: vardą, atlyginimą
ir amžių.
Perduokite šių savybių reikšmes konstruktoriaus parametru.
Sukurkite metodą, kuris išves darbuotojo duomenis.