Прерывание и пропуск итераций

Зачем нужны прерывания и пропуски

Без них цикл всегда выполняет все итерации до завершения условия. Но в реальных приложениях часто нужно:

  • Остановить цикл, если найден нужный элемент (например, пользователь найден).
  • Пропустить некорректные данные (например, пустой товар в списке).
  • Избежать лишних вычислений — это повышает производительность и предсказуемость.

break — выход из цикла

Команда break немедленно завершает цикл, даже если условие ещё истинно.

Пример: поиск пользователя в списке

const users = [
  { id: 1, name: "Анна" },
  { id: 2, name: "Иван" },
  { id: 3, name: "Мария" }
];

let foundUser = null;

for (let user of users) {
  if (user.id === 2) {
    foundUser = user;
    break; // Нашли — выходим, дальше не ищем
  }
}

console.log(foundUser); // { id: 2, name: "Иван" }

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

continue — переход к следующей итерации

Команда continue пропускает остаток текущей итерации и переходит к следующей.

Пример: обработка списка товаров, пропуск пустых

const products = [
  "Ноутбук",
  "",
  "Телефон",
  null,
  "Наушники"
];

for (let product of products) {
  if (!product) {
    continue; // Пропускаем пустые и null
  }
  console.log("Товар: " + product);
}

Вывод:

Товар: Ноутбук
Товар: Телефон
Товар: Наушники

Пустые значения ("", null) игнорируются — цикл не выводит их, но не останавливается.

Пример в мобильном приложении

При загрузке списка сообщений из API:

for (let message of messages) {
  if (!message.text) {
    continue; // Пропускаем пустые сообщения
  }
  
  if (message.isDeleted) {
    break; // Остановить загрузку, если встретили удалённое — дальше не нужно
  }
  
  renderMessage(message);
}

Важно

  • break и continue работают только с ближайшим внешним циклом.
  • Вложенные циклы: break выйдет только из внутреннего.
  • Используйте их для улучшения читаемости — не для обхода логики, а для оптимизации.

Правило

Используйте break, когда найдено нужное и дальнейший перебор не нужен.
Используйте continue, когда текущий элемент не подходит и его нужно пропустить.
Это делает код эффективнее и понятнее.