Privé-eigenschappen in OOP in JavaScript
Eigenschappen van een object die van buitenaf kunnen worden gelezen en geschreven, worden publieke eigenschappen genoemd. Er bestaan ook privé eigenschappen, die alleen binnen de klasse toegankelijk zijn.
De namen van privé-eigenschappen moeten
beginnen met het symbool #.
Bovendien moeten dergelijke eigenschappen verplicht
worden gedeclareerd aan het begin van de klassecode.
Laten we dit doen:
class User {
#name;
}
Laten we nu gegevens in onze eigenschap schrijven. Dit kan bijvoorbeeld in de constructor van de klasse:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Laten we nu een methode maken die de waarde van onze eigenschap zal teruggeven:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Laten we een object van de klasse maken, en de gebruikersnaam als parameter doorgeven:
let user = new User('john');
Een poging om rechtstreeks van buiten de klasse naar onze eigenschap te verwijzen, zal resulteren in een fout:
console.log(user.#name); // fout
En het aanroepen van onze methode maakt het mogelijk om deze eigenschap te lezen:
console.log(user.show()); // geeft 'john' weer
Maak in de klasse Employee
drie privé-eigenschappen: naam, salaris
en leeftijd.
Geef de waarden van deze eigenschappen door als parameter van de constructor.
Maak een methode die de gegevens van de werknemer weergeeft.