#6 TypeScriptで学ぶループの基本

TypeScriptのループは、書き方自体はJavaScriptと同じですが、型が付いた配列を扱うことで、より安全にループ処理を書けます。この記事では、TypeScriptにおけるループの基本と、型による安全性を解説します。

for文とfor...ofの基本

const fruits: string[] = ["りんご", "みかん", "ぶどう"];
for (const fruit of fruits) {
    console.log(fruit);
}

string[]という型注釈により、この配列には文字列しか入らないことが保証されます。

型のおかげで得られる安全性

配列の型が決まっているため、ループの中で取り出した値に対して、その型に応じた機能(文字列なら大文字変換など)を呼び出しても、TypeScriptが正しく認識してくれます。逆に、その型に存在しない機能を呼び出そうとすると、実行前にエラーとして教えてもらえます。

for (const fruit of fruits) {
    console.log(fruit.toUpperCase()); // OK: stringのメソッド
    // console.log(fruit.toFixed(2)); // コンパイルエラー: numberのメソッド
}

map・filterでも型が保たれる

const upper: string[] = fruits.map(fruit => fruit.toUpperCase());
const longNames: string[] = fruits.filter(fruit => fruit.length > 2);

mapの結果として得られる配列の型も、TypeScriptが自動的に推論してくれます。数値を返す関数を渡せばnumber[]になる、というように型が正しく伝わっていきます。

while文

let count = 0;
while (count < 5) {
    console.log(count);
    count++;
}

TypeScriptならではの注意点

配列の型をany[](なんでも入れられる型)にしてしまうと、TypeScriptの型チェックの恩恵を受けられなくなります。学習中は面倒に感じても、string[]やnumber[]のように具体的な型を書く習慣をつけておくと、後々のエラーに気づきやすくなります。複数の型が混在する配列を扱いたい場合は、any[]ではなく(string | number)[]のようなユニオン型で表現すると、安全性を保ったまま柔軟に対応できます。

まとめ

TypeScriptのループはJavaScriptと同じ書き方をしつつ、型付きの配列を扱うことでより安全になります。any[]を避け、具体的な型を書く習慣を身につけましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

TypeScriptをもっと学びたい方には「プロを目指す人のためのTypeScript入門」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本