Геттеры мнимых свойств в ООП в 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'



Чат с GPT Компилятор