Частни свойства в ООП в 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 направете
три частни свойства: име, заплата
и възраст.
Подайте като параметър на конструктора стойностите на тези свойства.
Направете метод, който ще изведе данните за служителя.