コンテンツにスキップ

JavaScript/for(;;)

出典: フリー教科書『ウィキブックス(Wikibooks)』


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 を使用すると関数スコープとなるため注意が必要です。

関連項目

[編集]

参考

[編集]