【发布时间】:2021-07-27 02:49:18
【问题描述】:
我有以下代码:
enum A {
FOO = 0,
BAR = 1,
BAZ = 2
}
type B = {
[key in A]: number
}
declare let b: B;
它工作正常。我可以使用b[A.FOO],但不能使用b[123]。不过,我也希望能够使用b.length,但是当我添加属性以键入B 时,就像这样......
type B = {
length: number,
[key in A]: number
}
...我收到以下错误
类型文字中的计算属性名称必须引用其类型为文字类型或“唯一符号”类型的表达式。ts(1170) 计算属性名称必须是“字符串”、“数字”、“符号”或“任意”类型。ts(2464)我该如何解决这个问题?
【问题讨论】:
-
type B = {[key in A]?: number}&{lengh:number}这对你有用吗?
标签: typescript