發(fā)表日期:2019-09 文章編輯:小燈 瀏覽次數:4043
Symbol.for機制有點類似于單例模式,首先在全局中搜索有沒有以該參數作為名稱的Symbol值,如果有,就返回這個Symbol值,否則就新建并返回一個以該字符串為名稱的Symbol值。和直接的Symbol就點不同了。
var s1 = Symbol.for('foo');var s2 = Symbol.for('foo');s1 === s2 // true
Symbol.keyFor方法返回一個已登記的Symbol類型值的key。實質就是檢測該Symbol是否已創(chuàng)建
var s1 = Symbol.for("foo");Symbol.keyFor(s1) // "foo"var s2 = Symbol("foo");Symbol.keyFor(s2) // undefined
Symbol.keyFor()方法:
此方法會獲取對應Symbol值的鍵。
更多關于Symbol內容可以參閱ES2015 Symbol一章節(jié)。
語法結構:
Symbol.keyFor(sym);
參數解析:sym必需,要獲取鍵值的Symbol值。
let s = Symbol.for("www.xttblog.com");console.log(Symbol.keyFor(s));let s = Symbol("www.xttblog.com");console.log(Symbol.keyFor(s));