Геттеры мнимых свойств в ООП в JavaScript
С помощью аксессоров можно создавать мнимые свойства, которых в объекте на самом деле нет. Давайте посмотрим на примере. Пусть у нас есть класс с двумя публичными свойствами:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
}
Давайте сделаем третье свойство, которое будет содержать имя и фамилию. Создадим для этого свойство-аксессор:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
get full() {
return this.name + ' ' + this.surn;
}
}
Проверим. Создадим объект класса, передав параметрами имя и фамилию:
let user = new User('john', 'smit');
Выведем значения публичных свойств:
console.log(user.name); // 'john'
console.log(user.surn); // 'smit'
А теперь выведем значение нашего мнимого свойства:
console.log(user.full); // 'john smit'