Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.
break 文は現在のループや switch 文を終了し、プログラムの制御を終了した文の次の文に移します。ラベル付きの文の中で使用された場合は、ラベル付きの文を飛び越えるためにも使われます。
終了する文のラベルに関連付けられた識別子。break 文がループや switch の中に入れ子になっていない場合は、ラベル識別子が必要です。
break; に遭遇すると、プログラムは最も内側の switch またはループ文から抜け出し、その次の文から実行を続けます。
break label; に遭遇すると、プログラムは label でラベル付けされた文から抜け出し、その次の文の実行を続けます。break 文は参照されるラベルの内側にある必要があります。ラベルはあらゆるブロック文に付けることができます。ループ文の前である必要はありません。
break 文は、その後にラベルがあるかどうかに関わらず、スクリプト、モジュール、関数の本体、静的初期化ブロックのそれぞれ最上位で使用することはできません。その関数やクラスがさらにループの中に含まれていた場合でもです。
次の関数には break 文があり、i が 3 の時に while 文を終了させるので、3 * x の値を返します。
次のコードには、一致する case と対応するコードが実行された後で switch 文を終了するための break があります。
次のコードは、ラベル付きブロックで break 文を使っています。break outerBlock を使用すると、制御は outerBlock としてマークされたブロック構文の末尾に移動します。
break 文は参照先のラベルの中になければなりません。次のコードもラベル付きブロックで break 文を使っていますが、break 文が block2 を参照しているにもかかわらず block2 の中にないので、構文エラーが発生します。
構文エラーは、次のコードのように break がループの中や、break 文によって脱出しようとしているラベル付きブロックの中で入れ子になっている関数で使われた場合にも、構文エラーが発生します。
| ECMAScript® 2027 Language Specification # sec-break-statement |
Enable JavaScript to view this browser compatibility table.
This page was last modified on 2026年3月5日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.