概要:このチュートリアルでは、JavaScriptのbreak文を使って、ループを途中で強制終了する方法を学びます。
ラベル文
JavaScriptでは、後で使用するために文にラベルを付けることができます。以下はlabel文の構文です。
label: statement;Code language: HTTP (http)この構文では、ラベルには任意の有効な識別子を使用できます。たとえば、次の例では、outerラベルを使用してforループにラベルを付ける方法を示しています。
outer: for (let i = 0; i < 5; i++) {
console.log(i);
}Code language: JavaScript (javascript)ラベルを定義したら、break文またはcontinue文でそれを参照できます。
JavaScript break文の概要
break文は、for、do...while、およびwhileループ、switch文、またはlabel文などのループを途中で強制終了します。以下はbreak文の構文です。
break [label];Code language: JavaScript (javascript)この構文では、ループまたはswitch内でbreak文を使用する場合、labelはオプションです。ただし、ラベル文とともにbreak文を使用する場合は、ラベルを指定する必要があります。
このチュートリアルでは、break文を使用してループを途中で強制終了する方法に焦点を当てます。
forループでJavaScript break文を使用する
次のforループ文は、0から4までの5つの数値を出力します。
for (let i = 0; i < 5; i++) {
console.log(i);
}
Code language: JavaScript (javascript)出力
0
1
2
3
4forループを途中で強制終了するには、break文を使用できます。たとえば、次の例はforループ内でbreak文を使用する方法を示しています。
for (let i = 0; i < 5; i++) {
console.log(i);
if (i == 2) {
break;
}
}Code language: JavaScript (javascript)出力
0
1
2この例では、ループ内でif文を使用します。iの現在の値が2の場合、if文はループを終了するbreak文を実行します。
次のフローチャートは、forループでbreak文がどのように機能するかを示しています。
break文を使用してネストされたループを終了する
ネストされたループは、あるループの中に別のループがあるものです。たとえば、次の例では、ネストされたforループを使用して、1から3までの数値のペアを出力します。
for (let i = 1; i <= 3; i++) {
for (let j = 1; j <= 3; j++) {
console.log(i, j);
}
}
Code language: JavaScript (javascript)出力
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3内側のループ内でbreak文を使用すると、内側のループのみが終了します。例を挙げます。
for (let i = 1; i <= 3; i++) {
for (let j = 1; j <= 3; j++) {
if (i + j == 4) {
break;
}
console.log(i, j);
}
}
Code language: JavaScript (javascript)出力
1 1
1 2
2 1この例では、iとjの合計が4の場合、break文は内側のループを終了します。ネストされたループを終了するには、ラベル文を使用します。例えば:
outer: for (let i = 1; i <= 3; i++) {
for (let j = 1; j <= 3; j++) {
if (i + j == 4) {
break outer;
}
console.log(i, j);
}
}Code language: JavaScript (javascript)出力
1 1
1 2この例では、外側のループにouterというラベルを付けます。内側のループ内で、break文にouterラベルを指定します。iとjの合計が4の場合、break文はネストされたループを終了します。
whileループでJavaScript break文を使用する
次の例は、whileループを使用して、1から5までの5つの数値をコンソールに出力します。
let i = 0;
while (i < 5) {
i++;
console.log(i);
}Code language: JavaScript (javascript)出力
1
2
3
4
5forループと同様に、break文はwhileループを途中で強制終了します。たとえば:
let i = 0;
while (i < 5) {
i++;
console.log(i);
if (i == 3) {
break;
}
}Code language: JavaScript (javascript)出力
1
2
3この例では、iの現在の値が3の場合、break文はループを終了します。したがって、出力には3つの数値のみが表示されます。
次のフローチャートは、whileループでbreak文がどのように機能するかを示しています。
do…whileループでJavaScript break文を使用する
次の例では、do...while文を使用して、0から5までの5つの数値をコンソールに出力します。
let i = 0;
do {
i++;
console.log(i);
} while (i < 5);
Code language: JavaScript (javascript)出力
1
2
3
4
5whileループと同様に、break文を使用してdo...whileループを終了できます。たとえば:
let i = 0;
do {
i++;
console.log(i);
if (i == 3) {
break;
}
} while (i < 5);
Code language: JavaScript (javascript)出力
1
2
3次のフローチャートは、do whileループでbreak文がどのように機能するかを示しています。
まとめ
break文を使用して、for、while、do...whileなどのループを途中で強制終了します。- ネストされたループで使用する場合、
break文は囲んでいるループを終了します。ネストされたループを終了するには、ラベル文を使用します。