Оператор break в JS

Оператор break в JavaScript: досрочный выход из цикла for, while и оператора switch — с пошаговым разбором примеров.

break немедленно прерывает выполнение текущего цикла (for, while, do...while) или ветки switch и передаёт управление следующей инструкции после прерванного блока.

Синтаксис

break;

Необязательная метка break метка; используется редко — только при вложенных циклах, когда нужно выйти сразу из нескольких уровней.

Как это работает

Без break цикл идёт до конца условия. С break — останавливается прямо в точке вызова.

// без break: выведет 1 2 3 4 5
for (let i = 1; i <= 5; i++) {
    console.log(i);
}

// с break при i === 3: выведет только 1 2
for (let i = 1; i <= 5; i++) {
    if (i === 3) break;
    console.log(i);
}

Вывод:

1
2
3
4
5
1
2

break с циклом for

Пример 1. Найти первое чётное число в массиве

const nums = [7, 3, 4, 9, 2, 8];
let found = -1;

for (let i = 0; i < nums.length; i++) {
    if (nums[i] % 2 === 0) {
        found = nums[i];
        break;               // нашли — дальше искать не нужно
    }
}

console.log("Первое чётное:", found);

Вывод:

Первое чётное: 4

Без break цикл прошёл бы весь массив. С break он остановился на индексе 2, сэкономив три итерации.

break с циклом while

Пример 2. Накапливать сумму, пока она не превысит порог

const values = [10, 25, 40, 15, 30];
let sum = 0;
let limit = 60;

for (let i = 0; i < values.length; i++) {
    sum += values[i];
    console.log(`Добавили ${values[i]}, сумма = ${sum}`);
    if (sum > limit) {
        console.log("Порог превышен, останавливаемся.");
        break;
    }
}
console.log("Итоговая сумма:", sum);

Вывод:

Добавили 10, сумма = 10
Добавили 25, сумма = 35
Добавили 40, сумма = 75
Порог превышен, останавливаемся.
Итоговая сумма: 75

break с вложенными циклами

break выходит только из ближайшего цикла — того, внутри которого стоит.

Пример 3. Прервать только внутренний цикл

for (let i = 1; i <= 3; i++) {
    for (let j = 1; j <= 3; j++) {
        if (j === 2) break;          // выходим только из внутреннего цикла
        console.log(`i=${i}, j=${j}`);
    }
}

Вывод:

i=1, j=1
i=2, j=1
i=3, j=1

Внешний цикл продолжает работать. Из каждой итерации внешнего цикла внутренний выводит лишь j=1 и тут же прерывается.

break в switch

В операторе switch break завершает текущую ветку, не давая выполнению «просочиться» в следующую.

const day = "вт";

switch (day) {
    case "пн":
        console.log("Понедельник");
        break;
    case "вт":
        console.log("Вторник");
        break;
    case "ср":
        console.log("Среда");
        break;
    default:
        console.log("Другой день");
}

Вывод:

Вторник

Коротко

  • break немедленно выходит из цикла или ветки switch.
  • При вложенных циклах прерывается только ближайший цикл.
  • Типичные случаи: ранний выход при нахождении нужного элемента, ограничение накопленного значения.
  • В switch break нужен в каждой ветке, иначе выполнение «провалится» в следующую.
Проверьте себя
1. Что выведет следующий код? ```js for (let i = 1; i <= 5; i++) { if (i === 3) break; console.log(i); } ```
A1 2
B1 2 3 4 5
C1 2 3
D3 4 5
2. Что происходит при использовании break внутри вложенного цикла?
AЗавершается только тот цикл, в теле которого находится break
BЗавершаются все циклы сразу
CПропускается текущая итерация
DПрограмма завершается
3. Какой оператор кроме циклов также можно прервать с помощью break?
Aif...else
Btry...catch
Cswitch
Dfunction