continueとbreak【JavaScript】

JavaScript
動点P
動点P

continueとbreakがどんな動きをするのか知りたい!

円周率π
円周率π

ちゃんと挙動を覚えておかないと次は何が実行されるのかわからなくなるもんね~

continueについて

continueはループ文(for文while文)中でそのループを飛ばし、次のループへスキップしてくれます。

for(let i=0; i<5; i++){
    if(i == 1){
        continue;
    }
    console.log(i);
}
//0, 2, 3, 4が表示される

let a = 0;
while(a < 5){
    a++;
    if(a === 3){
        continue;
    }
    console.log(a);
};
//1, 2, 4, 5

例えば全部スキップしてしまうこともできますが、その間のループのためのi++の計算はやっているのでそこは変化しています。

let i;
for(i=0; i<5; i++){
    continue;
}
console.log(i);//5が表示される

また、ループ文が重なっている場合は一番内側のループ文だけをスキップします。

for(let i=0; i<3; i++){
    for(let j=0; j<3; j++){
        if(j===1){
            continue;
        }
        console.log(i,j);
    }
}

//0 0  0 2  1 0  1 2  2 0  2 2 が表示される

breakについて

break文はループ文とswitch文の中で使われ、そのループをbreak文の時点で中断します。

for(let i=0; i<3; i++){
    if(i==1){
        break;
    }
    console.log(i);//0
}

let a = 0;
do{
    a++;
    if(a>2)break;
    console.log(a);//1 2
}while(a<10);

ちなみにswitch文はbreakがないと一致した命令文以下のものを順番に全て実行してしまいます。

let b = "みかん";
switch (b){
    case "りんご":
        console.log("りんご");
        break;
    case "みかん":
        console.log("みかん");
        break;
    case "すいか":
        console.log("すいか");
        break;
    default:
        console.log("くだもの");
}
//みかん

switch (b){
    case "りんご":
        console.log("りんご");      
    case "みかん":
        console.log("みかん");      
    case "すいか":
        console.log("すいか");       
    default:
        console.log("くだもの");
}
//みかん すいか くだもの

また、ループ文が重なっている場合は内側のループ文を中断させます。

for(let i=0; i<3; i++){
    for(let j=0; j<3; j++){
        if(j===1){
            break;
        }
        console.log(i,j);
    }
}
//0 0  1 0  2 0

コメント