我有这个:
export const symbols = {
toString: Symbol('@xml.js.toString')
};
export class Node {
[key: string]: any;
[symbols.toString] = function(){
};
}但我知道这个错误:

即:
类属性声明中的计算属性名称必须引用其类型为文字类型或唯一符号类型的表达式。
有人知道怎么回事吗?
如果将其放入构造函数中,则不会出现错误:

发布于 2018-05-05 08:16:36
由于错误状态,只能使用唯一符号作为计算属性名称。
正如参考文献中所描述的,
要将符号视为唯一文字,可以使用新类型的唯一符号。唯一符号是符号的子类型,仅由调用符号()或Symbol.for()或显式类型注释产生。新类型只允许在const声明和只读静态属性上使用,为了引用特定的唯一符号,您必须使用type on操作符。每个对唯一符号的引用都意味着一个与给定声明相关联的完全唯一的身份。
由于列出的限制,对象属性不能是唯一的。
相反,它可以是:
export namespace symbols {
export const toString = Symbol('@xml.js.toString');
};https://stackoverflow.com/questions/50185792
复制相似问题