8

规范的第 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

我在这里想念什么?

4

1 回答 1

1

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

于 2012-11-26T22:04:47.297 回答