Symbol.for() 和 Symbol.keyFor()
Symbol.for()
Symbol.for()
Symbol.for()
和 Symbol()
不同的是 Symbol()
每次都会返回一个新的 symbol
值,而 Symbol.for()
会先检查有没有以该参数作为名称的 symbol
值,若有则返回返回该值,若没有则创建、登记,然后返回一个新的 symbol
值
Symbol.forKey()
Symbol.forKey()
这个方法的作用是,检查当前是否有以输入参数为名称的且已登记的 Symbol
值,如果有则返回对应的 symbol
值,如果没有则返回 undefined
注意,
Symbol.for()
为 Symbol 值登记的名字,是全局环境的,不管有没有在全局环境运行。
Last updated