JavaScript/for(;;)
for (;;)
編集for (;;) は、JavaScript においてループを作成するための制御文で、無限ループや繰り返し処理を記述する際に使用されます。この構文は、ループの初期化、条件式、更新処理を1つの文で記述できる柔軟な方法です。
構文
編集for (initialization; condition; finalExpression) { // 実行するコード }
各部分の説明:
initialization
: ループ開始時に実行される初期化処理 (省略可能)。condition
: 繰り返し処理を続けるための条件式。この条件がtrue
の場合にループが継続し、false
の場合に終了します (省略可能)。finalExpression
: 各ループの最後に実行される式 (省略可能)。
for (;;)
はすべての部分を省略した形で、無条件に繰り返し実行される無限ループになります。
使用例
編集基本的な例
編集// 1 から 5 までの数値を出力するループ for (let i = 1; i <= 5; i++) { console.log(i); }
この例では、初期化 (let i = 1
)、条件式 (i <= 5
)、および更新処理 (i++
) が記述され、ループ内で console.log
により値が出力されます。
無限ループ
編集// 無限ループ for (;;) { console.log('This is an infinite loop'); break; // ループを終了 }
この例では、for
文のすべての部分が省略されており、無限ループが形成されますが、break
文を使用して終了させています。
条件式を省略したループ
編集// 条件式を省略し、明示的に終了 for (let i = 0;; i++) { console.log(i); if (i >= 3) { break; // 条件を満たしたら終了 } }
この例では、条件式を省略し、ループ内で if
文を使用して終了条件を明示的に指定しています。
注意点
編集- 無限ループに注意: 条件式を誤って省略したり設定を誤ると、意図せず無限ループになる可能性があります。
- 変数のスコープ:
let
またはconst
を使用してループ変数を宣言すると、その変数はループ内でのみ有効です。一方、var
を使用すると関数スコープとなるため注意が必要です。