今回はTypeScriptを使う上で理解しておきたい3つの便利な機能について解説していきます。
その中でも型推論とジェネリクスに焦点を当てて、その魅力と応用を深掘りしてみましょう。
まずは一つ目のテーマ、型推論について紹介します。
型推論はTypeScriptのコーディングを 簡潔で効率的にする 重要な要素です。
let welcomeMsg = 'Hello, TypeScript!';
上記のコード例を見てみましょう。
ここで注目するべきは welcomeMsg
の型を明示的に宣言していないにも関わらず、TypeScriptが この変数がstring型であることを見抜いている 点です。
これが型推論の力です。
これによって型を明示的に書く必要がない場面が増えるためコーディングがすっきりします!
次にジェネリクスについて紹介します。
ジェネリクスはTypeScriptの柔軟性を引き出す鍵となる要素の一つです。
function getArray<T>(items : T[] ) : T[] {
return new Array<T>().concat(items);
}
let myNumArr = getArray<number>([100, 200, 300]);
let myStrArr = getArray<string>(["Hello", "World"]);
上記の例では getArray
関数がジェネリクスを使用しています。
ここでの <T>
部分がジェネリクスで、この関数が呼び出された時に特定の型(この場合はnumberやstring)に 置き換わる のです。
このようにジェネリクスを用いることで一つの関数やクラスが多様な型に対応できるようになります!
最後に型ガードという有益な機能を見ていきましょう。
function isNumber(x: any): x is number {
return typeof x === 'number';
}
function processContent(x: number | string) {
if (isNumber(x)) {
return x.toFixed(2); // number型のメソッドです
}
return x.trim(); // string型のメソッドです
}
上記のコードでは isNumber
関数が型ガードとして機能しています。
型ガードとは 特定の場所で変数の型を狭める(特定する) 機能のことです。
これによって特定の型のメソッドやプロパティを安全に利用することができます。
コード内では isNumber
がnumber型の場合は toFixed
を実行し、string型なら trim
を実行するといったように型によって処理を変えていますね。
TypeScriptを使う上で理解しておきたい3のつ便利な機能として、型推論、ジェネリクス、そして型ガードといったTypeScriptの便利な機能を紹介しました。
これらの機能はTypeScriptが強力な型安全性と同時に柔軟で効率的なコーディングを可能にする要素です。
皆さんもこれらの知識を活かして、よりスマートなコーディングを楽しんでみてくださいね。
TypeScriptの短絡評価の使い方「&&」「||」「??」の解説
TypeScriptのタイマー関数setTimeoutとsetIntervalの使い方
TypeScriptの多次元配列の使い方についてわかりやすく解説
TypeScriptでのタプルの使い方と実践テクニックを解説
TypeScriptのimport typeをわかりやすく解説
TypeScriptの配列やオブジェクトのソート完全ガイド
TypeScriptコメントアウトの使い方 完全ガイド
TypeScriptのオブジェクトとプロパティの存在チェック完全ガイド
TypeScriptで即時関数を使う方法を解説!基本から実践的な使い方まで