為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴
發(fā)表日期:2019-09 文章編輯:小燈 瀏覽次數(shù):4059
Symbol.for機(jī)制有點(diǎn)類似于單例模式,首先在全局中搜索有沒有以該參數(shù)作為名稱的Symbol值,如果有,就返回這個(gè)Symbol值,否則就新建并返回一個(gè)以該字符串為名稱的Symbol值。和直接的Symbol就點(diǎn)不同了。
var s1 = Symbol.for('foo');var s2 = Symbol.for('foo');s1 === s2 // true
Symbol.keyFor方法返回一個(gè)已登記的Symbol類型值的key。實(shí)質(zhì)就是檢測(cè)該Symbol是否已創(chuàng)建
var s1 = Symbol.for("foo");Symbol.keyFor(s1) // "foo"var s2 = Symbol("foo");Symbol.keyFor(s2) // undefined
Symbol.keyFor()方法:
此方法會(huì)獲取對(duì)應(yīng)Symbol值的鍵。
更多關(guān)于Symbol內(nèi)容可以參閱ES2015 Symbol一章節(jié)。
語法結(jié)構(gòu):
Symbol.keyFor(sym);
參數(shù)解析: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));