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.
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
Symbol.hasInstance
: Utilisé pour vérifier si l'objet est une instance de la classe spécifiée🎜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!