考虑这段代码:
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.
这是一个错误,还是我错过了什么?