概要: このチュートリアルでは、JavaScript の for
ループステートメントを使用して、さまざまなオプションでループを作成する方法を学びます。
JavaScript の for ループステートメントの概要
for
ループステートメントは、3 つのオプション式を使用してループを作成します。以下は、for
ループステートメントの構文を示しています。
for (initializer; condition; iterator) {
// statements
}
Code language: JavaScript (javascript)
1) 初期化式 (initializer)
for
ステートメントは、ループが開始されるときにのみ initializer
を一度だけ実行します。通常、初期化式でローカルループ変数を宣言および初期化します。
2) 条件式 (condition)
condition
は、for
が次の反復を実行するかどうかを決定するブール式です。
for
ステートメントは、各反復の前に condition
を評価します。条件が true
の場合(または存在しない場合)、次の反復を実行します。それ以外の場合は、ループを終了します。
3) イテレータ (iterator)
for
ステートメントは、各反復後に iterator
を実行します。
以下のフローチャートは、for
ループを示しています。
for
ループでは、3 つの式はオプションです。以下は、式のない for
ループを示しています。
for ( ; ; ) {
// statements
}
Code language: JavaScript (javascript)
JavaScript の for ループの例
for
ループステートメントの使用例をいくつか見てみましょう。
1) シンプルな JavaScript for ループの例
次の例では、for
ループステートメントを使用して、1 から 4 までの数値をコンソールに表示します。
for (let i = 1; i < 5; i++) {
console.log(i);
}
Code language: JavaScript (javascript)
出力
1
2
3
4
動作の説明。
- まず、変数
counter
を宣言し、1 に初期化します。 - 次に、
counter
が 5 未満の場合、コンソールにcounter
の値を表示します。 - 3 番目に、ループの各反復で
counter
の値を 1 ずつ増やします。
2) 初期化式のない JavaScript for ループの例
次の例では、初期化式がない for
ループを使用しています。
let j = 1;
for (; j < 10; j += 2) {
console.log(j);
}
Code language: JavaScript (javascript)
出力
1
3
5
7
9
3) 条件式のない JavaScript for ループの例
initializer
式と同様に、condition
式はオプションです。condition
式を省略する場合は、ループを終了するために break
ステートメントを使用する必要があります。
for (let j = 1; ; j += 2) {
console.log(j);
if (j > 10) {
break;
}
}
Code language: JavaScript (javascript)
出力
1
3
5
7
9
11
3) 式のない JavaScript for ループステートメントの例
for
ループステートメントの 3 つの式はすべてオプションです。したがって、すべてを省略できます。例:
let j = 1;
for (;;) {
if (j > 10) {
break;
}
console.log(j);
j += 2;
}
Code language: JavaScript (javascript)
出力
1
3
5
7
9
4) ループ本体のない JavaScript for ループの例
JavaScript では、for
ステートメントに空のステートメントを含めることができます。この場合、for
ステートメントの直後にセミコロン(;
)を置きます。
たとえば、次は for ループを使用して 1 から 10 までの 10 個の数の合計を計算します。
let sum = 0;
for (let i = 0; i <= 9; i++, sum += i);
console.log(sum);
Code language: JavaScript (javascript)
出力
55
まとめ
- JavaScript の
for
ステートメントを使用して、さまざまなオプションでコードブロックを実行するループを作成します。