interface NumberDictionary{
[index: string]: number;
length: number; //ok, length is a number
name: string; //error, the type of 'name' is not a subtype of the indexer
}
我不明白为什么这个名字不能是字符串...
答案 0 :(得分:0)
请遵循上述其他贡献者的文章。
也就是说,您已经声明了计算属性[index: string]: number
,这基本上意味着从现在开始,每个字符串变量都将为number
类型。第二行不会给您错误,因为您刚刚说过名为length
的显式属性也是number
。在最后一行中,您已经说过属性name
的类型为string
,这是不正确的,因为在第一行中,您已经说过所有将来的变量都是number
。>