LoginSignup
1
3

JavaScript/TypeScriptの`for`構文について

Posted at

はじめに

for構文は、特定の条件が満たされるまで繰り返しコードを実行するためのループ構造を提供します。ループ処理は、同じ処理を複数回行いたい場合に非常に便利です。

基本構文

forループの基本構文は以下の通りです。

for (初期化; 条件; 更新) {
    // 繰り返し実行するコード
}
  • 初期化:ループが開始される前に一度だけ実行される。ループカウンタ変数を初期化するために使用されることが多いです。
  • 条件:ループが継続する条件を指定。条件がtrueである限り、ループは繰り返し実行されます。
  • 更新:各ループの最後に実行される。通常はループカウンタ変数のインクリメントやデクリメントを行います。

for (let i = 0; i < 5; i++) {
    console.log(i);
}
// 出力: 0, 1, 2, 3, 4

この例では、変数iを0から始め、5未満の間、ループを繰り返します。各ループごとにiは1ずつ増加します。

for...in構文

for...in構文は、オブジェクトのプロパティを反復処理するために使用されます。

const person = {
    name: "Alice",
    age: 25,
    city: "Tokyo"
};

for (let key in person) {
    console.log(key + ": " + person[key]);
}
// 出力: 
// name: Alice
// age: 25
// city: Tokyo

この例では、personオブジェクトのすべてのプロパティを繰り返し処理し、それぞれのキーと値をコンソールに出力します。

for...of構文

for...of構文は、配列やその他の反復可能なオブジェクト(例えば、MapSet)の要素を反復処理するために使用されます。

const fruits = ["apple", "banana", "cherry"];

for (let fruit of fruits) {
    console.log(fruit);
}
// 出力: 
// apple
// banana
// cherry

この例では、fruits配列のすべての要素を繰り返し処理し、各要素をコンソールに出力します。

無限ループ

for構文を使用して無限ループを作成することも可能です。無限ループは通常、特定の条件が満たされるまでループを終了させない場合に使用されます。

for (;;) {
    console.log("This will run forever");
}

この例は無限に実行され続けるループを作成します。条件が省略されているため、常にtrueとみなされ、ループが永遠に続きます。無限ループを使用する際には、明示的にbreak文を使ってループを終了させることが重要です。

breakcontinue

break

break文は、ループを即座に終了させるために使用されます。

for (let i = 0; i < 10; i++) {
    if (i === 5) {
        break;
    }
    console.log(i);
}
// 出力: 0, 1, 2, 3, 4

この例では、iが5に達した時点でループが終了します。

continue

continue文は、現在のループの反復をスキップし、次の反復に進むために使用されます。

for (let i = 0; i < 10; i++) {
    if (i % 2 === 0) {
        continue;
    }
    console.log(i);
}
// 出力: 1, 3, 5, 7, 9

この例では、iが偶数の場合に反復をスキップし、次のループに進みます。

まとめ

for構文は、繰り返し処理を実行するための基本的かつ強力なツールです。基本的なforループに加え、for...infor...of構文を使うことで、さまざまなデータ構造を効率的に反復処理できます。また、breakcontinue文を使うことで、ループの制御を柔軟に行うことができます。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3