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 :

javascriptclass User {
  #name;
}

Maintenant, enregistrons des données dans notre propriété. Cela peut être fait, par exemple, dans le constructeur de la classe :

javascriptclass User {
  #name;
  
  constructor(name) {
    this.#name = name;
  }
}

Créons maintenant une méthode qui retournera la valeur de notre propriété :

javascriptclass 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 :

javascriptlet user = new User('john');

Toute tentative d'accéder directement à notre propriété en dehors de la classe entraînera une erreur :

javascriptconsole.log(user.#name); // erreur

Et l'appel de notre méthode permettra de lire cette propriété :

javascriptconsole.log(user.show()); // affichera 'john'
Задание 1

Dans la classe Employee, créez trois propriétés privées : le nom, le salaire et l'âge.

Задание 2

Passez dans le constructeur les valeurs de ces propriétés.

Задание 3

Créez une méthode qui affichera les données de l'employé.