#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専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿