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