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