Propriétés privées en POO en JavaScript
Les propriétés d'un objet qui peuvent être lues et modifiées de l'extérieur sont appelées publiques. Il existe également des propriétés privées, qui ne seront accessibles qu'à l'intérieur de la classe.
Les noms des propriétés privées doivent
commencer par le symbole #.
De plus, ces propriétés doivent obligatoirement
être déclarées au début du code de la classe.
Faisons cela :
class User {
#name;
}
Maintenant, enregistrons des données dans notre propriété. Cela peut être fait, par exemple, dans le constructeur de la classe :
class User {
#name;
constructor(name) {
this.#name = name;
}
}
Créons maintenant une méthode qui retournera la valeur de notre propriété :
class User {
#name;
constructor(name) {
this.#name = name;
}
show() {
return this.#name;
}
}
Créons un objet de la classe, en passant le nom de l'utilisateur en paramètre :
let user = new User('john');
Toute tentative d'accéder directement à notre propriété en dehors de la classe entraînera une erreur :
console.log(user.#name); // erreur
Et l'appel de notre méthode permettra de lire cette propriété :
console.log(user.show()); // affichera 'john'
Dans la classe Employee, créez
trois propriétés privées : le nom, le salaire
et l'âge.
Passez dans le constructeur les valeurs de ces propriétés.
Créez une méthode qui affichera les données de l'employé.