Propriétés d'accès en POO en JavaScript
Il existe deux types de propriétés d'objet.
Le premier type est les propriétés de données (data properties). Nous savons déjà comment travailler avec elles. Toutes les propriétés que nous avons utilisées jusqu'à présent étaient des propriétés de données.
Le deuxième type de propriétés, nous ne l'avons pas encore examiné. Ce sont les propriétés d'accès (accessor properties). Par essence, ce sont des fonctions qui sont utilisées pour assigner et obtenir une valeur, mais dans le code externe elles ressemblent à des propriétés ordinaires de l'objet.
Les propriétés d'accès sont créées à l'aide des
mots-clés get et set écrits
lors de la déclaration des méthodes :
class User {
get name() {
}
set name(name) {
}
}
À la suite d'une telle déclaration,
notre classe possédera une propriété
name. En même temps, lors d'une tentative de lecture
de cette propriété, la méthode
déclarée via get sera appelée :
let name = user.name;
Lors d'une tentative d'écriture, la méthode
déclarée via set sera appelée :
user.name = 'john';
La classe suivante est donnée :
class Employee {
get name() {
console.log('get');
}
set name(name) {
console.log('set');
}
}
Créez un objet de cette classe
et essayez d'écrire et de lire
des données depuis la propriété name.