Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Инструкции и объявления
  5. break

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

break

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨июль 2015 г.⁩.

Операторbreak прерывает выполнение текущего цикла, оператора множественного выбораswitch или блочноговыражения с меткой. Выполнение кода продолжается с конструкции, следующей за прерванной.

Интерактивный пример

let i = 0;while (i < 6) {  if (i === 3) {    break;  }  i = i + 1;}console.log(i);// Expected output: 3

Синтаксис

js
break [label];
labelНеобязательный

Идентификатор связанной метки. Если прерываемое выражение не цикл илиswitch, указание метки обязательно.

Описание

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

Использованиеbreak, с меткой или без, невозможно внутри функции, которая вложена в прерываемые цикл, конструкциюswitch илиблочное выражение с меткой.

Примеры

break в цикле while

Следующая функция использует операторbreak для выхода из циклаwhile, когдаi станет равно 3, и возвращает значение 3 *x.

js
function testBreak(x) {  var i = 0;  while (i < 6) {    if (i == 3) {      break;    }    i += 1;  }  return i * x;}

break в конструкции switch

В примере операторbreak прервёт выполнениеswitch сразу после выполнения кода в совпавшемcase.

js
const food = "sushi";switch (food) {  case "sushi":    console.log("Sushi is originally from Japan.");    break;  case "pizza":    console.log("Pizza is originally from Italy.");    break;  default:    console.log("I have never heard of that dish.");    break;}

break в блочном выражении с указанной меткой

В примере используется операторbreak с меткой. В таком случаеbreak обязательно должен быть вложен в блок кода с той же меткой. Обратите внимание, чтоinner_block вложен вouter_block.

js
outer_block: {  inner_block: {    console.log("1");    break outer_block; // break прервёт выполнение кода как в inner_block, так и в outer_block    console.log(":-("); // не будет выполнено  }  console.log("2"); // не будет выполнено}

break вне блочного выражения с указанной меткой

В примере также используетсяbreak с меткой, но код будет выполнен с ошибкойSyntaxError, потому чтоbreak находится в блоке с меткойblock_1, а прерывается выполнение блока кода с меткойblock_2. Ещё раз, в таком случаеbreak обязательно должен быть вложен в блок кода с меткой, выполнение которого требуется прервать.

js
block_1: {  console.log('1');  break block_2; // SyntaxError: label not found}block_2: {  console.log('2');}

break внутри функций

Код в примерах также будет выполнен с ошибкойSyntaxError, потому что в обоих случаяхbreak находится в теле функции, вложенной в прерываемый цикл или прерываемое блочное выражение с меткой.

js
function testBreak(x) {  var i = 0;  while (i < 6) {    if (i == 3) {      (function() {        break;      })();    }    i += 1;  }return i * x;}testBreak(1); // SyntaxError: Illegal break statement
js
block_1: {  console.log('1');  ( function() {    break block_1; // SyntaxError: Undefined label 'block_1'  })();}

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-break-statement

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp