给定符号
const title = Symbol('Csv column title');
表示对象的键和表中表头的文本。我想我可以这样设置表头
const tableHeaders: { key: string }[] = [{ key: title }];
但不幸的是我得到了错误
类型"symbol"不能赋给类型"string"。(2322)
以及
TypeError:无法将Symbol值转换为字符串
看起来Symbol.prototype.toString()不是我要找的,因为Symbol('title').toString()
返回"Symbol(title)"
。
如何将符号用作字符串?
2条答案
按热度按时间kmbjn2e31#
可以像这样使用
keyof
和typeof
:llew8vvj2#
您可以使用全局符号注册表¹ ²来实现这一点:
如果需要再次检索符号,可以使用
Symbol.for(tableHeaders[0].key)
,它应该从注册表中获得相同的符号。