Я не уверен, что это нормальное поведение, но выполняется это:
for (var i in [1, 2, 3]) {
console.log(i + 1);
}
Результаты в этом:
// 01
// 11
// 21
Может кто-нибудь объяснить, почему var i
обрабатывается как строка в этой ситуации, а не если я делаю for (var i = 0; i < [1, 2, 3].length; i++)
?