このコードを考えてみましょう:
var a = [];
for (var i in a)
/* nothing */;
var i : number;
i = 9;
これをコンパイルすると、コンパイラは最後の行について「「数値」を「文字列」に変換できません」と文句を言います。
おそらくfor..inループは文字列として作成されますが、コンパイラが文句を言うまで待つのではなく、i文句を言うことを期待していました。var i : numberi = 9
に変更var i : numberしてvar i : number = 8も、コンパイラはに達するまで文句を言いませんi = 9。
これはバグですか、それとも何かが足りませんか?