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

时间:2019-10-22 08:14:37

标签: javascript

例如,如果我使用toString()

let s = Symbol('abc')
console.log(s.toString())

我得到:

'Symbol(abc)'

如何获取:

'abc'

代替吗?

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

我正在使用Symbol来实现Enumthis solution may work for you,并希望在包含的类上使用toJSON()对其进行序列化。

在Node.js v10.15.1。中进行了测试

2 个答案:

答案 0 :(得分:3)

使用描述获取价值

s.description

就像我们创建符号时一样,我们传递对该符号的描述。

更多read this.

答案 1 :(得分:2)

我会使用s.description。它将返回Symbol说明

更深入的解释here