考虑这段代码:
var a = [];
for (var i in a)
/* nothing */;
var i : number;
i = 9;
如果我编译它,编译器会抱怨最后一行,说“无法将'数字'转换为'字符串'”。
大概是作为字符串创建的 for..in 循环i
,但我希望编译器会抱怨var i : number
而不是等到i = 9
它抱怨之前。
如果我更改var i : number
为var i : number = 8
,编译器在达到i = 9
.
这是一个错误,还是我错过了什么?