Приватные свойства в ООП в 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 сделайте три приватных свойства: имя, зарплату и возраст.

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

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