符号原始类型的基础知识
Symbol
是 ES6 中的一种新的原始类型。符号主要用作属性键,其主要特征之一是它们是唯一的,即使它们具有相同的描述。这意味着他们永远不会与任何其他属性键(即 symbol
或 string
)发生冲突。
const MY_PROP_KEY = Symbol();
const obj = {};
obj[MY_PROP_KEY] = "ABC";
console.log(obj[MY_PROP_KEY]);
在这个例子中,console.log
的结果将是 ABC
。
你还可以将符号命名为:
const APPLE = Symbol('Apple');
const BANANA = Symbol('Banana');
const GRAPE = Symbol('Grape');
这些值中的每一个都是唯一的,无法覆盖。
在创建原始符号时提供可选参数 (description)
可用于调试但不能访问符号本身(但请参阅 Symbol.for()
示例以了解注册/查找全局共享符号的方法)。