符號原始型別的基礎知識

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() 示例以瞭解註冊/查詢全域性共享符號的方法)。