Symbol은 JavaScript에서 불변의 고유 식별자로 사용됩니다. 주요 용도로는 객체의 비공개 속성, 클래스 멤버 식별, 키 매핑, 생성기 함수 반환 값 및 기타 내장 객체 속성이 있습니다.
JavaScript에서 기호 사용
Symbol은 기본적으로 변경할 수 없는 고유 식별자인 JavaScript의 고유 값 유형입니다. 주요 용도는 다음과 같습니다.
1 개체의 개인 속성으로
Symbol은 표준 for...in
에 나타나지 않으므로 개체의 개인 속성으로 사용할 수 있습니다. > 루프 또는 Object.keys() 메서드. 따라서 민감한 데이터를 저장하거나 내부 상태 관리에 이상적입니다. 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
: 객체가 지정된 클래스의 인스턴스인지 확인하는 데 사용됩니다🎜위 내용은 js에서 심볼은 어떤 용도로 사용되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!