符号原始类型的基础知识

Symbol 是 ES6 中的一种新的原始类型。符号主要用作属性键,其主要特征之一是它们是唯一的,即使它们具有相同的描述。这意味着他们永远不会与任何其他属性键(即 symbolstring)发生冲突。

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() 示例以了解注册/查找全局共享符号的方法)。