Maison >interface Web >js tutoriel >A quoi sert le symbole en js ?

A quoi sert le symbole en js ?

下次还敢
下次还敢original
2024-05-07 18:27:19437parcourir

Le symbole est utilisé comme identifiant unique immuable en JavaScript. Ses principales utilisations incluent : en tant que propriété privée d'un objet, l'identification des membres de la classe, les clés de mappage, les valeurs de retour de la fonction génératrice et d'autres propriétés d'objet intégrées.

A quoi sert le symbole en js ?

Utilisation du symbole en JavaScript

Le symbole est un type de valeur unique en JavaScript qui est essentiellement un identifiant unique et immuable. Ses principales utilisations sont :

1. En tant que propriété privée d'un objet

Le symbole peut être utilisé comme propriété privée d'un objet car il n'apparaîtra pas dans le standard for...in boucle ou méthode Object.keys(). Cela le rend idéal pour stocker des données sensibles ou pour la gestion interne de l’état. for...in 循环或 Object.keys() 方法中。这使得它非常适合存储敏感数据或用于内部状态管理。

示例代码:

<code class="js">const user = {
  [Symbol("secretData")]: "Confidential information"
};</code>

2. 作为类成员的标识符

Symbol 可以用于标识类中的成员,例如方法或属性。这可以防止意外覆盖或冲突。

示例代码:

<code class="js">class Person {
  static [Symbol("getName")]() {
    return "John Doe";
  }
}</code>

3. 作为映射键

Symbol 可以用作映射(Map 或 WeakMap)的键。这对于创建更具可读性和可维护性的代码非常有用。

示例代码:

<code class="js">const myMap = new Map();
myMap.set(Symbol("key1"), "value1");</code>

4. 作为生成器函数的返回值

Symbol 可以用作生成器函数的返回值,以表示一个可迭代对象的唯一标识。

示例代码:

<code class="js">function* myGenerator() {
  yield 1;
  yield 2;
}

const mySymbol = Symbol.iterator;
const myIterator = myGenerator()[mySymbol]();</code>

5. 作为其他内置对象的属性

Symbol 也被用作其他内置对象的属性,例如:

  • Symbol.iterator: 表示对象的默认迭代器
  • Symbol.hasInstance: 用于检查对象是否是指定类的实例
  • Symbol.species
Exemple de code : 🎜🎜rrreee🎜🎜2. Comme identifiant pour les membres de la classe 🎜🎜🎜Le symbole peut être utilisé pour identifier les membres d'une classe, tels que des méthodes ou des propriétés. Cela évite les écrasements accidentels ou les conflits. 🎜🎜🎜Exemple de code : 🎜🎜rrreee🎜🎜3. Comme clé de carte 🎜🎜🎜Le symbole peut être utilisé comme clé pour une carte (Map ou WeakMap). Ceci est utile pour créer un code plus lisible et maintenable. 🎜🎜🎜Exemple de code : 🎜🎜rrreee🎜🎜4. Comme valeur de retour de la fonction génératrice 🎜🎜🎜Le symbole peut être utilisé comme valeur de retour de la fonction génératrice pour représenter l'identifiant unique d'un objet itérable. 🎜🎜🎜Exemple de code : 🎜🎜rrreee🎜🎜5. En tant que propriété d'autres objets intégrés 🎜🎜🎜Le symbole est également utilisé comme propriété d'autres objets intégrés, tels que : 🎜
  • Symbol.iterator code> : Représente l'itérateur par défaut de l'objet🎜
  • Symbol.hasInstance : Utilisé pour vérifier si l'objet est une instance de la classe spécifiée🎜
  • Symbol.species : constructeur d'objet de retour🎜🎜

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!

Déclaration:
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
Article précédent:Que signifie le symbole en jsArticle suivant:Que signifie le symbole en js