JSのbreakとはどういう意味ですか?

JavaScriptのbreak文について

JavaScriptのbreak文について

JavaScriptでは、繰り返し処理を途中で終了したい場合があります。例えば、特定の条件を満たした時点でループを抜け出したい場合などです。このような場合に役立つのがbreak文です。

break文の基本的な使い方

break文は、forループやwhileループなどの繰り返し処理の中で使用されます。break文が実行されると、ループ処理が直ちに終了し、ループの次の処理に制御が移ります。

以下は、forループでbreak文を使用する例です。


<script>
for (let i = 1; i <= 10; i++) {
  if (i === 5) {
    break; // iが5になったらループを終了
  }
  console.log(i); // コンソールにiを表示
}
</script>

このコードでは、iが5になった時点でbreak文が実行され、ループが終了します。そのため、コンソールには1から4までの数字のみが出力されます。

多重ループにおけるbreak文

break文は、多重ループの中でも使用できます。ただし、break文は、それが記述されている最も内側のループのみを終了します。外側のループはそのまま処理が継続されます。

以下の例では、外側のループと内側のループの両方でbreak文を使用しています。


<script>
for (let i = 1; i <= 3; i++) {
  for (let j = 1; j <= 3; j++) {
    if (i === 2 && j === 2) {
      break; // iが2、jが2になったら内側のループを終了
    }
    console.log("i: " + i + ", j: " + j);
  }
}
</script>

このコードでは、iが2、jが2になった時点で内側のループが終了します。しかし、外側のループは継続されるため、iが3の場合の処理も行われます。

switch文におけるbreak文

break文は、switch文の中でも使用されます。switch文では、break文がないと、条件が一致したcase文だけでなく、その後のcase文も実行されてしまいます(フォールスルー)。

以下の例では、break文がないため、case 1の処理の後、case 2の処理も実行されています。


<script>
let day = 1;

switch (day) {
  case 1:
    console.log("今日は月曜日です");
  case 2:
    console.log("今日は火曜日です");
    break;
  default:
    console.log("今日はその他の曜日です");
}
</script>

このコードでは、"今日は月曜日です"と"今日は火曜日です"の両方が出力されます。これは、case 1の処理の後、break文がないため、case 2の処理も実行されてしまうためです。

case文ごとに処理を区切りたい場合は、break文を記述する必要があります。


<script>
let day = 1;

switch (day) {
  case 1:
    console.log("今日は月曜日です");
    break; // case 1の処理後、switch文を抜ける
  case 2:
    console.log("今日は火曜日です");
    break; // case 2の処理後、switch文を抜ける
  default:
    console.log("今日はその他の曜日です");
}
</script>

このコードでは、case 1の処理の後、break文があるため、case 2の処理は実行されません。"今日は月曜日です"のみが出力されます。

break文を使用する際の注意点

break文は、ループ処理を途中で終了させる便利な機能ですが、多用しすぎるとコードが読みにくくなる可能性があります。break文を使用する場合は、本当に必要な場合にのみ使用し、コードの可読性を損なわないように注意しましょう。

参考資料

よくある質問

質問 回答
break文はif文の中でも使えますか? いいえ、break文は、forループ、whileループ、switch文の中だけで使用できます。if文の中で使用することはできません。
break文を使わずにループを途中で終了することはできますか? はい、ループの条件式を操作することで、break文を使わずにループを途中で終了することができます。しかし、break文を使った方がコードが簡潔で見やすくなる場合が多いため、基本的にはbreak文を使うことをおすすめします。
break文とcontinue文の違いは何ですか? break文はループ処理を完全に終了しますが、continue文は現在のループ処理をスキップして、次のループ処理に進むという点が異なります。

その他の参考記事:JavaScript の Break ステートメントと continue ステートメント