offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗jsOpBsPP 13 of 60 menu

Приватные свойства в ООП в JavaScript

Свойства объекта, которые можно прочитывать и записывать извне, называются публичными. Существуют также приватные свойства, которые будут доступны только внутри класса.

Имена приватных свойств нужно начинать с символа #. Кроме того, такие свойства обязательно нужно объявить в начале кода класса. Давайте сделаем это:

class User { #name; }

Теперь запишем данные в наше свойство. Это можно сделать, например, в конструкторе класса:

class User { #name; constructor(name) { this.#name = name; } }

Сделаем теперь метод, который будет возвращать значение нашего свойства:

class User { #name; constructor(name) { this.#name = name; } show() { return this.#name; } }

Создадим объект класса, передав параметром имя юзера:

let user = new User('john');

Попытка обратиться напрямую к нашему свойству вне класса приведет к ошибке:

console.log(user.#name); // ошибка

А вызов нашего метода позволит прочитать это свойство:

console.log(user.show()); // выведет 'john'

В классе Employee сделайте три приватных свойства: имя, зарплату и возраст.

Передайте параметром конструктора значения этих свойств.

Сделайте метод, который выведет данные работника.