对象索引签名是否等同于数组类型?

时间:2012-11-24 04:32:46

标签: typescript

规范的第3.5.4节规定:“ElementType []形式的数组类型等同于具有索引签名[index:number]的对象类型:ElementType”但是这似乎不是这种情况,例如

var a: {[index: number]: string;};
var b: string[];
a = ['1','2'];  // ERROR: Cannot convert 'string[]' to '{ [index: number]: string; }'
b = ['1','2'];  // OK

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

是的,这是编译器中的已知错误。它将在未来版本中修复。最好的解决方法是演员(在任务的任一侧 - a = <string[]>['1', '2']看起来可能看起来不那么奇怪)。