TypeScript for文

概要: このチュートリアルでは、コードを繰り返し実行するTypeScriptのforループ文について学習します。

TypeScript for文の紹介

以下は、TypeScript forループ文の構文を示しています。

for(initialization; condition; expression) {
    // statement
}Code language: TypeScript (typescript)

forループ文はループを作成します。これは、セミコロン(;)で区切られ、括弧で囲まれた3つのオプションの式で構成されます。

  • 初期化式: ループ開始前に一度評価される式です。通常、ループカウンタの初期化に使用します。
  • 条件式 – 各ループ反復の最後に評価される式です。条件式trueの場合、ループ本体のステートメントが実行されます。
  • 増分式 – 各ループ反復の最後に条件式が評価される前に評価される式です。一般的に、ループカウンタの更新に使用します。

forループ文の3つの式はすべて省略可能です。つまり、forループ文を次のように使用できます。

for(;;) {
    // do something
}Code language: TypeScript (typescript)

実際には、ループが何回実行されるか分かっている場合はforループを使用する必要があります。ループの実行回数以外の条件に基づいてループを停止したい場合は、whileループを使用する必要があります。

TypeScriptでは、次のようにループ本体を完全に省略することもできます。

for(initialization; condition; expression);Code language: TypeScript (typescript)

ただし、コードの可読性と保守性を低下させるため、実際にはめったに使用されません。

TypeScript for文の例

TypeScript forループ文の使用例をいくつか見てみましょう。

1) シンプルなTypeScript for文の例

次の例では、forループ文を使用して、0から9までの10個の数字をコンソールに出力します。

for (let i = 0; i < 10; i++) {
    console.log(i);
}Code language: TypeScript (typescript)

出力

0
1
2
3
4
5
6
7
8
9Code language: TypeScript (typescript)

動作原理

  • まず、変数iを宣言し、0に初期化します。
  • 次に、i10未満かどうかを確認します。もしそうであれば、iをコンソールに出力し、変数iを1つ増分します。
  • 最後に、i10になるまで、2番目の手順を繰り返します。

2) TypeScript for文の例:オプションのブロック

次の例は、上記の例と同じ出力を示しています。ただし、for文には初期化式ブロックがありません。

let i = 0;
for (; i < 10; i++) {
    console.log(i);
}Code language: TypeScript (typescript)

初期化式ブロックと同様に、条件式ブロックも省略できます。

ただし、if文とbreak文を使用して条件を満たしたときにループから脱出する必要があります。そうしないと、プログラムがクラッシュするまで繰り返し実行される無限ループが発生します。

for (let i = 0; ; i++) {
    console.log(i);
    if (i > 9) break;
}Code language: TypeScript (typescript)

次の例は、3つのブロックをすべて省略したforループを示しています。

let i = 0;
for (; ;) {
    console.log(i);
    i++;
    if (i > 9) break;
}Code language: TypeScript (typescript)

出力

0
1
2
3
4
5
6
7
8
9Code language: TypeScript (typescript)

動作原理

  • まず、ループカウンタiを宣言し、forに入る前に0に初期化します。
  • 次に、各ループ反復で、iをコンソールに出力し、1つ増分し、iが9より大きい場合はループから抜けます。

まとめ

  • コードを複数回繰り返し実行したい場合は、TypeScript for文を使用します。
このチュートリアルは役に立ちましたか?