获取ES6符号的描述

ppo*_*ani 11 javascript symbols ecmascript-6

我想知道是否有一种很好的方式来获得符号的描述.

例如,

var s = Symbol(5);
Run Code Online (Sandbox Code Playgroud)

toString的默认实现只会打印Symbol(5)

我想找到一种方法来提取实际的描述,即5

Rus*_*tel 9

Symbol.description返回符号的描述。只需在您的情况下执行 s.description 即可。

参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/description

  • 这是正确的答案,它在非常现代的环境中工作得很好,但请注意,这仍然是非常新的,即使在当前的节点 LTS 版本 (10.15.3) 中也不支持。 (3认同)

lys*_*ing 1

没有什么巧妙的方法可以做到这一点。但是,如果您已在全局注册表中注册了符号,则可以使用Symbol.keyFor()

var s = Symbol.for(5);
console.log(Symbol.keyFor(s));
Run Code Online (Sandbox Code Playgroud)