Symbol.for(),Symbol.keyFor()

Symbol.for机制有点类似于单例模式,首先在全局中搜索有没有以该参数作为名称的Symbol值,如果有,就返回这个Symbol值,否则就新建并返回一个以该字符串为名称的Symbol值。和直接的Symbol就点不同了。

var s1 = Symbol.for('foo');
var s2 = Symbol.for('foo');

s1 === s2 // true

Symbol.keyFor方法返回一个已登记的Symbol类型值的key。实质就是检测该Symbol是否已创建

var s1 = Symbol.for("foo");
Symbol.keyFor(s1) // "foo"

var s2 = Symbol("foo");
Symbol.keyFor(s2) // undefined

Symbol.keyFor()方法:
此方法会获取对应Symbol值的键。
更多关于Symbol内容可以参阅ES2015 Symbol一章节。

语法结构:

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));

参考资料

  • http://es6.ruanyifeng.com/#docs/symbol

Symbol.for(),Symbol.keyFor()

: » Symbol.for(),Symbol.keyFor()

原创文章,作者:745907710,如若转载,请注明出处:https://blog.ytso.com/251378.html

(0)
上一篇 2022年5月2日
下一篇 2022年5月2日

相关推荐

发表回复

登录后才能评论