Proprietà di accesso nella OOP in JavaScript
Esistono due tipi di proprietà di un oggetto.
Il primo tipo sono le proprietà dati (data properties). Sappiamo già come lavorare con loro. Tutte le proprietà, che abbiamo utilizzato fino al momento attuale, erano proprietà dati.
Il secondo tipo di proprietà non l'abbiamo ancora considerato. Questo sono le proprietà di accesso (accessor properties). In sostanza sono funzioni, che vengono utilizzate per assegnare e ottenere un valore, ma nel codice esterno appaiono come normali proprietà dell'oggetto.
Le proprietà di accesso vengono create con le
parole chiave get e set scritte
alla dichiarazione dei metodi:
class User {
get name() {
}
set name(name) {
}
}
Come risultato di questa dichiarazione
la nostra classe possiederà la proprietà
name. In questo caso, quando si tenta la lettura
di questa proprietà, verrà chiamato il metodo
dichiarato tramite get:
let name = user.name;
Quando si tenta la scrittura, verrà chiamato il metodo,
dichiarato tramite set:
user.name = 'john';
Viene data la seguente classe:
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Create un oggetto di questa classe
e provate a scrivere e leggere
dati dalla proprietà name.