JavaScriptのbreakとcontinueについて
breakについて
break
文は、現在のループ、スイッチ文、またはラベル付きステートメントから即座に抜け出すために使用されます。
これにより、コードの実行が指定した箇所で停止し、次のコードに進むことが可能になります。
使用例: ループの中断
以下は、break
文を使用してループを中断する例です。
let numbers = [1, 2, 3, 4, 5];
for (let i = 0; i < numbers.length; i++) {
if (numbers[i] === 3) {
console.log('3が見つかったのでループを終了します。');
break;
}
console.log(numbers[i]);
}
// 出力: 1, 2, "3が見つかったのでループを終了します。"
使用例: 入れ子のループでのbreak
入れ子のループでは、特定のループだけを抜けることができます。ラベルを使用することで、外側のループを終了することも可能です。
outerLoop:
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
console.log('外側ループも終了します。');
break outerLoop;
}
console.log(`i: ${i}, j: ${j}`);
}
}
// 出力: i: 0, j: 0 / i: 0, j: 1 / i: 0, j: 2 / i: 1, j: 0 / "外側ループも終了します。"
continueについて
continue
文は、現在の反復処理をスキップし、次の反復処理に移行するために使用されます。
これにより、特定の条件を満たす場合にコードの一部を実行しないようにすることができます。
使用例: 反復処理のスキップ
以下は、continue
文を使用して特定の条件で処理をスキップする例です。
for (let i = 1; i <= 5; i++) {
if (i % 2 === 0) {
console.log(`${i}はスキップされました。`);
continue;
}
console.log(i);
}
// 出力: 1, "2はスキップされました。", 3, "4はスキップされました。", 5
使用例: 入れ子のループでのcontinue
入れ子のループでもcontinue
文を使用できます。この場合、スキップされるのは現在のループの反復処理のみです。
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (j === 1) {
console.log(`j: ${j}はスキップされました。`);
continue;
}
console.log(`i: ${i}, j: ${j}`);
}
}
// 出力: i: 0, j: 0 / "j: 1はスキップされました。" / i: 0, j: 2 / ... (同様に続く)
breakとcontinueの違い
break
はループやスイッチ文を完全に終了させます。一方で、continue
は現在の反復処理だけをスキップし、次の反復処理に進みます。
以下は、簡単な比較例です。
for (let i = 1; i <= 5; i++) {
if (i === 3) {
console.log('breakが発動しました。');
break;
}
console.log(i);
}
// 出力: 1, 2, "breakが発動しました。"
for (let i = 1; i <= 5; i++) {
if (i === 3) {
console.log('continueが発動しました。');
continue;
}
console.log(i);
}
// 出力: 1, 2, "continueが発動しました。", 4, 5
まとめ
break
とcontinue
は、ループやスイッチ文の制御をカスタマイズするための強力なツールです。
break
: ループやスイッチ文全体を終了する。continue
: 現在の反復処理をスキップし、次の反復処理に進む。