Proprietà private in OOP in JavaScript
Le proprietà dell'oggetto che possono essere lette e scritte dall'esterno sono chiamate pubbliche. Esistono anche proprietà private, che saranno accessibili solo all'interno della classe.
I nomi delle proprietà private devono
iniziare con il simbolo #.
Inoltre, tali proprietà devono obbligatoriamente
essere dichiarate all'inizio del codice della classe.
Facciamolo:
class User {
#name;
}
Ora inseriamo i dati nella nostra proprietà. Questo può essere fatto, ad esempio, nel costruttore della classe:
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Creiamo ora un metodo che restituirà il valore della nostra proprietà:
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Creiamo un oggetto della classe, passando come parametro il nome utente:
let user = new User('john');
Il tentativo di accedere direttamente alla nostra proprietà al di fuori della classe risulterà in un errore:
console.log(user.#name); // errore
Mentre la chiamata al nostro metodo permetterà di leggere questa proprietà:
console.log(user.show()); // visualizzerà 'john'
Nella classe Employee create
tre proprietà private: nome, stipendio
ed età.
Passate tramite il costruttore i valori di queste proprietà.
Create un metodo che visualizzi i dati del dipendente.