Уласцівасці-аксэсары ў ААП у JavaScript
Ёсць два тыпы ўласцівасцяў аб'екта.
Першы тып гэта ўласцівасці-даныя (data properties). Мы ўжо ведаем, як працаваць з імі. Усе ўласцівасці, якія мы выкарыстоўвалі да бягучага моманту, былі ўласцівасцямі-данымі.
Другі тып уласцівасцяў мы яшчэ не разглядалі. Гэта ўласцівасці-аксэсары (accessor properties). Па сваёй сутнасці гэта функцыі, якія выкарыстоўваюцца для прысваення і атрымання значэння, але ў вонкавым кодзе яны выглядаюць як звычайныя ўласцівасці аб'екта.
Уласцівасці-аксэсары ствараюцца з дапамогай
ключавых словаў get і set напісаных
пры аб'яўленні метадаў:
class User {
get name() {
}
set name(name) {
}
}
У выніку такога аб'яўлення
наш клас будзе валодаць уласцівасцю
name. Пры гэтым пры спробе чытання
гэтай уласцівасці будзе выкліканы метад,
аб'яўлены праз get:
let name = user.name;
Пры спробе запісу будзе выкліканы метад,
аб'яўлены праз set:
user.name = 'john';
Даны наступны клас:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Стварыце аб'ект гэтага класа
і паспрабуйце запісаць і прачытаць
даныя з уласцівасці name.