Что выведет код Middle Функции высшего порядка обновлено

Прерывание вложенных циклов

Вопрос

Что выведет код? По строке на каждый вывод.

outer:
for (let i = 0; i < 3; i++) {
  for (let j = 0; j < 3; j++) {
    if (j === 1) continue outer;
    if (i === 2) break outer;
    console.log(i, j);
  }
}
console.log('конец');

Попробуйте сами

Напишите, что выведет код: каждый вывод с новой строки.

Показать ответ и разбор

Коротко

Код выведет: 0 0, 1 0, конец. Почему так Метки - редкий, но легальный способ выйти из вложенных циклов без флагов.

Что выведет

0 0
1 0
конец

Разбор

Почему так

Метки - редкий, но легальный способ выйти из вложенных циклов без флагов. Альтернатива - вынести внутренний цикл в функцию и использовать return.

Вывод

0 0
1 0
конец

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.