如何将 JavaScript 符号转换为不带“Symbol(”前缀的字符串?

Cir*_*四事件 3 javascript

例如,如果我使用toString()

let s = Symbol('abc')
console.log(s.toString())
Run Code Online (Sandbox Code Playgroud)

我得到:

'Symbol(abc)'
Run Code Online (Sandbox Code Playgroud)

如何获得:

'abc'
Run Code Online (Sandbox Code Playgroud)

部分代替?

我知道如何通过字符串操作来做到这一点,但我希望有一个可能更有效的解决方案来直接获取该值。

我正在用来Symbol实现Enum在 JavaScript 中定义枚举的首选语法是什么?并希望使用toJSON()包含类上的 a 序列化它。

在 Node.js v10.15.1 中测试。

abb*_*y37 7

使用描述来获取价值

s.description
Run Code Online (Sandbox Code Playgroud)

当我们创建符号时,我们传递该符号的描述。

欲了解更多信息,请阅读此内容。


And*_*rea 5

我会用s.description. 它将返回的描述Symbol

这里有更深入的解释。