JS оператор break


Загальний опис

break — це ключове слово, яке використовується для дострокового завершення виконання поточного циклу або блоку switch. Воно негайно припиняє роботу конструкції, в якій викликається, і передає управління на наступну інструкцію після цієї конструкції.

Використання в циклах

break особливо корисний у циклах (for, while, do...while), якщо потрібно припинити ітерацію за певних умов. Наприклад, якщо знайдений потрібний елемент в масиві, інші елементи можна не перевіряти:

const numbers = [1, 3, 5, 7, 9];
for (let number of numbers) {
  if (number === 5) {
    console.log('Знайдено число 5!');
    break; // Цикл припиняється
  }
}

Використання в switch

У блоці switch, ключове слово break дозволяє вийти з поточної гілки після виконання її коду, щоб уникнути переходу до наступної гілки.

const fruit = 'яблуко';
switch (fruit) {
  case 'яблуко':
    console.log('Це яблуко.');
    break; // Виходимо з блоку switch
  case 'банан':
    console.log('Це банан.');
    break;
  default:
    console.log('Це невідомий фрукт.');
}

Без break усі наступні гілки case будуть виконуватися, навіть якщо умова вже була виконана.

Вкладені цикли

break може використовуватися для виходу лише з найближчого циклу. Щоб завершити роботу кількох циклів одночасно, часто застосовують мітки (label), хоча це менш поширений підхід.

outerLoop: for (let i = 0; i < 3; i++) {
  for (let j = 0; j < 3; j++) {
    if (i === 1 && j === 1) {
      break outerLoop; // Вихід із зовнішнього циклу
    }
    console.log(`i: ${i}, j: ${j}`);
  }
}
автор: Bond

Порада

Використовуйте break з мітками для складних вкладених конструкцій, але уникайте надмірного використання міток. Їх важко відстежувати в довгому коді.

автор: Bond
Порада

Не використовуйте break поза контекстом циклів чи switch. Це спричинить синтаксичну помилку.

автор: Bond
Порада

У тестуванні масивів або об’єктів break корисний для дострокового завершення, але слід уникати ситуацій, коли це порушує читабельність:

for (let item of items) {
  if (item.matchesCondition) {
    handle(item);
    break;
  }
}
автор: Bond

Синтаксис

break;

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 1 4 12 3
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
0.10.0 1.0

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі використання мітки дозволяє припинити обидва цикли після знаходження числа 5, що спрощує логіку програми.

const matrix = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

outerLoop: for (let i = 0; i < matrix.length; i++) {
  for (let j = 0; j < matrix[i].length; j++) {
    if (matrix[i][j] === 5) {
      console.log('Знайдено число 5!');
      break outerLoop; // Завершення обох циклів
    }
  }
}
автор: Bond

У великому масиві можна уникнути непотрібних ітерацій, достроково завершивши цикл після знаходження першого числа більше за 100. Це підвищує ефективність.

const largeArray = Array.from({ length: 1000 }, (_, i) => i + 1);
for (let number of largeArray) {
  if (number > 100) {
    console.log(`Знайдено перше число більше за 100: ${number}`);
    break;
  }
}
автор: Bond

Користувач вводить число в текстове поле та натискає "Знайти". Після цього скрипт запускає цикл перевірки, який достроково зупиняється за допомогою break, якщо знайдено збіг. Якщо число є в масиві, результат відображається під формою, і цикл припиняє виконання. Якщо число відсутнє, користувач отримає відповідне повідомлення.

HTML

<header>
  <h2 class="title">Конструкція "break"</h2>
  <p class="description">Дозволяє завершити виконання циклу або блоку коду достроково.</p>
</header>
<main>
  <div class="result">
    <!-- Форма для введення числа -->
    <form id="search-form">
      <label for="number-input">Введіть число для пошуку:</label>
      <input type="number" id="number-input" placeholder="Наприклад, 5" required />
      <button type="submit">Знайти</button>
    </form>
    <!-- Відображення результату -->
    <div id="output" style="margin-top: 15px;"></div>
  </div>
</main>

CSS

/* Основні стилі */
body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

/* Стилізація заголовка */
header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

/* Стилізація результату */
.result {
  background-color: #f8f8f8;
  padding: 15px;
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

/* Стилі форми */
form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

input {
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

button {
  padding: 10px;
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

button:hover {
  background-color: #0056b3;
}

JS

// Масив чисел для пошуку
const numbers = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19];

// Знаходимо елементи форми та результату
const form = document.getElementById('search-form');
const input = document.getElementById('number-input');
const output = document.getElementById('output');

// Обробник події для форми
form.addEventListener('submit', function (event) {
  event.preventDefault(); // Забороняємо перезавантаження сторінки
  const targetNumber = parseInt(input.value, 10);
  let found = false;

  // Цикл для пошуку числа
  for (let number of numbers) {
    if (number === targetNumber) {
      found = true;
      output.innerHTML = `Число <strong>${targetNumber}</strong> знайдено в масиві!`;
      break; // Припиняємо цикл після знаходження
    }
  }

  // Якщо число не знайдено
  if (!found) {
    output.innerHTML = `Число <strong>${targetNumber}</strong> відсутнє в масиві.`;
  }
});
//# sourceURL=pen.js
автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід