Maison > interface Web > js tutoriel > Comment créer et accéder à des propriétés privées dans les classes JavaScript ES6 ?

Comment créer et accéder à des propriétés privées dans les classes JavaScript ES6 ?

Susan Sarandon
Libérer: 2024-12-27 08:11:09
original
844 Les gens l'ont consulté

How Do I Create and Access Private Properties in JavaScript ES6 Classes?

Propriétés privées dans les classes JavaScript ES6

Introduction

Dans les versions JavaScript précédentes, les propriétés de classe étaient toujours accessibles au sein de la même instance de classe et à partir d’autres instances et classes. Cependant, avec l'introduction d'ES6, des propriétés privées peuvent désormais être créées, limitant l'accès à des propriétés spécifiques au sein d'une classe.

Création de propriétés privées

Pour créer une propriété privée dans une classe ES6, préfixez le nom de la propriété avec un hachage (#). Cette syntaxe indique que la propriété est privée et ne doit pas être accessible directement.

Par exemple, considérons le code suivant :

class Something {
  constructor() {
    this.#property = "test"; // private property
  }
}
Copier après la connexion

Dans cet exemple, l'attribut de propriété est préfixé par un hachage , le rendant inaccessible en dehors de la classe.

Accès aux propriétés privées

Les propriétés privées ne peuvent pas être accessible directement depuis l’extérieur de la classe. Cependant, vous pouvez utiliser des méthodes getter pour récupérer la valeur d'une propriété privée.

Par exemple, pour accéder à la valeur privée de la propriété dans l'exemple précédent, nous pouvons ajouter la méthode getter suivante à la classe :

class Something {
  constructor() {
    this.#property = "test"; // private property
  }

  get property() {
    return this.#property;
  }
}
Copier après la connexion

Maintenant, nous pouvons accéder à la valeur de la propriété privée en utilisant la méthode de lecture de propriété :

const instance = new Something();
console.log(instance.property); // Output: "test"
Copier après la connexion

Supplémentaire Notes

  • Les méthodes privées peuvent également être créées en utilisant la même syntaxe de hachage.
  • Les propriétés et méthodes privées ne sont pas énumérables (c'est-à-dire qu'elles n'apparaîtront pas lors d'une itération sur un objet propriétés).
  • Depuis ES2023, les champs privés sont pris en charge dans la majorité des navigateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal