Что будет выведено в консоль?
Ответ:
[ 0, 0, 0 ]
Объяснение:
На первой строке создаётся массив foo. Далее идёт интересный цикл. Во-первых, у цикла нет тела. Да, так можно, и это будет работать.
Во-вторых, переменная i объявляется без ключевого слова var, let или const. В нестрогом режиме ошибки не будет, переменная просто повесится на глобальный объект window.
Ну и последнее: в месте цикла, где обычно идёт шаг, происходит что-то странное. Так как у оператора [] приоритет больше, чем у оператора ++ , то сначала элементу массива по индексу i присваивается 0 , а потом переменная i увеличивается на 1.
Код:
const foo = [1, 2, 3]; for (i = 0; i < foo.length; foo[i++] = 0); console.log(foo);