Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。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 |
ブラウザー互換性一覧表を表示するには、JavaScript を有効にしてください。
より良いインターネットのための青写真。
このコンテンツの一部は、©1998–2026 個人の mozilla.org 協力者です。コンテンツはクリエイティブ・コモンズ・ライセンスのもとで利用できます。