Свойства-аксесори в ООП в 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.