Symbol.keyFor()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 2015 年 9 月以来,该特性已在各大浏览器中可用。

Symbol.keyFor() 静态方法用于从全局 Symbol 注册表中检索给定 Symbol 的共享 Symbol 键。

试一试

const globalSym = Symbol.for("foo"); // Global symbol

console.log(Symbol.keyFor(globalSym));
// Expected output: "foo"

const localSym = Symbol(); // Local symbol

console.log(Symbol.keyFor(localSym));
// Expected output: undefined

console.log(Symbol.keyFor(Symbol.iterator));
// Expected output: undefined

语法

js
Symbol.keyFor(sym)

参数

sym

Symbol,必需。要查找键的 Symbol。

返回值

如果找到了给定 Symbol 在全局注册表中的键,则返回表示该键的字符串;否则,返回undefined

示例

使用 keyFor()

js
const globalSym = Symbol.for("foo"); // create a new global symbol
Symbol.keyFor(globalSym); // "foo"

const localSym = Symbol();
Symbol.keyFor(localSym); // undefined

// well-known symbols are not symbols registered
// in the global symbol registry
Symbol.keyFor(Symbol.iterator); // undefined

规范

规范
ECMAScript® 2026 语言规范
# sec-symbol.keyfor

浏览器兼容性

另见