Гетэры аксэсараў у ААП у JavaScript
Давайце падрабязней разбярым прымяненне гетэраў уласцівасцей-аксэсараў. Хай у нас ёсць наступны клас з прыватнай уласцівасцю:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Давайце зробім у гэтым класе
публічную ўласцівасць name
,
якую можна будзе прачытаць,
але нельга будзе запісаць:
class User {
#name;
constructor(name) {
this.#name = name;
}
get name() {
return this.#name;
}
}
Праверым працу. Стварым аб'ект нашага класа, перадаўшы яму параметрам значэнне імені:
let user = new User('john');
А цяпер прачытаем імя праз публічную ўласцівасць:
let name = user.name;
console.log(name);
А вось спроба запісаць імя прывядзе да памылкі, як мы і дабіваліся:
user.name = 'eric';
Рэалізуйце гетэры аксэсараў для
ўласцівасцей класа Employee
.