Symbol.keyFor()

Symbol.keyFor(sym) 方法用来获取 symbol 注册表中与某个 symbol 关联的键。

语法

Symbol.keyFor(sym);

参数

sym
必选参数,存储在 symbol 注册表中的某个 symbol

返回值

如果全局注册表中查找到该symbol,则返回该symbol的key值,形式为string。如果symbol未在注册表中,返回undefined

示例

// 创建一个 symbol 并放入 Symbol 注册表,key 为 "foo"
var globalSym = Symbol.for("foo"); 
Symbol.keyFor(globalSym); // "foo"

// 创建一个 symbol,但不放入 symbol 注册表中
var localSym = Symbol(); 
Symbol.keyFor(localSym); // undefined,所以是找不到 key 的

// well-known symbol 们并不在 symbol 注册表中
Symbol.keyFor(Symbol.iterator) // undefined