Управляющие инструкции

В циклах JavaScript доступны для использования две инструкции, влияющие на их поведение: break и continue. Впрочем, на практике они используются редко. Ту же функциональность легко получить и без их использования, но знать про них нужно, особенно при чтении чужого кода.

Break

Инструкция break производит выход из цикла. Не из функции, а из цикла. Встретив её, интерпретатор перестаёт выполнять текущий цикл и переходит к инструкциям, идущими сразу за циклом.

const coll = ['one', 'two', 'three', 'four', 'stop', 'five'];

for (const item of coll) {
    if (item === 'stop') {
        break;
    }
    console.log(item);
}

То же самое легко получить, используя цикл while. Этот цикл семантически лучше подходит для такой задачи, так как подразумевает не полный перебор:

const coll = ['one', 'two', 'three', 'four', 'stop', 'five'];

let i = 0;
while (coll[i] !== 'stop') {
    console.log(coll[i]);
    i += 1;
}

Continue

Инструкция continue позволяет пропустить итерацию цикла. Ниже пример с функцией myCompact, которая удаляет null элементы из массива:

const myCompact = (coll) => {
  const result = [];

  for (const item of coll) {
    if (item === null) {
      continue;
    }

    result.push(item);
  }

  return result;
};

Код без continue получается проще:

const myCompact = (coll) => {
  const result = [];

  for (const item of coll) {
    if (item !== null) {
      result.push(item);
    }
  }

  return result;
};

Дополнительные материалы

  1. Break
  2. Continue
Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Javascript, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →