【JavaScript】continue文 - 反復処理のスキップ(for/for-of/for-in/while/do-while)

【JavaScript】continue文 - 反復処理のスキップ(for/for-of/for-in/while/do-while)

JavaScriptのcontinue文について解説します。

検証環境

continue文

continue文は“反復処理で次の繰り返しにスキップします。”

特定の構文(for文、for-of文、for-in文、while文、do-while文)で使用可能で、continue文が実行されると一番近いブロック(波括弧{})の反復処理を次の繰り返しへとスキップします。

基本構文

continue

構文はシンプルですが、特定の構文以外で使用するとエラーが発生するので注意が必要です。

サンプル

continue文が使用可能なfor文、for-of文、for-in文、while文、do-while文について各サンプルを以下に示します。

for文

for( let i = 0; i < 3; i++ ) {
    console.log(i + "回目(前半)");
    if( i == 1 ) {
        ___ih_hl_start
        continue;
        ___ih_hl_end
    }
    console.log(i + "回目(後半)");
}
0回目(前半)
0回目(後半)
1回目(前半)
2回目(前半)
2回目(後半)

繰り返しの処理でconsole.log(i + "回目(前半)")console.log(i + "回目(後半)")の出力がありますが、変数i1の時は、continueが実行されるため、console.log(i + "回目(後半)")はスキップされます。

for-of文

let fruits = [ "Apple", "Orange", "Melon" ];

for( const value of fruits ) {
    if( value == "Orange" ) {
        ___ih_hl_start
        continue;
        ___ih_hl_end
    }
    console.log(value);
}
Apple
Melon

変数valueの値が"Orange"の時はcontinueが実行され、次の繰り返し処理にスキップするため、console.log(value)は実行されません。

for-in文

let prices = { "Apple": 150, "Orange": 100, "Melon": 2300 };

for( const key in prices ) {
    if( key == "Orange" ) {
        ___ih_hl_start
        continue;
        ___ih_hl_end
    }
    console.log(key + ": " + prices[key]);
}
aaa
ccc

変数keyの値が"Orange"の時はcontinueが実行され、次の繰り返し処理にスキップするため、console.log(key + ": " + prices[key])は実行されません。

while文

let num = 0;

while( num < 3 ) {
    num++;
    if( num == 1 ) {
        ___ih_hl_start
        continue;
        ___ih_hl_end
    }
    console.log(num + "回目");
}
2回目
3回目

変数num1の時は、continueが実行されるため、console.log(num + "回目")はスキップされます。

do-while文

let num = 0;

do {
    num++;
    if( num == 1 ) {
        ___ih_hl_start
        continue;
        ___ih_hl_end
    }
    console.log(num + "回目");
} while( num < 3 );
2回目
3回目

変数num1の時は、continueが実行されるため、console.log(num + "回目")はスキップされます。