Нет, они не делают то же самое.
Выход вашего цикла for..in равен
0
1
2
В то время как выход вашегодля каждого цикла ..in -
1
2
3
Цикл for..in выполняет итерацию по ключам / индексам массива или именам свойств объектаДля каждого цикла..in выполняется итерация значений .Вы получаете вышеуказанные результаты, потому что ваш массив bar
структурирован так:
bar[0] = 1;
bar[1] = 2;
bar[2] = 3;