TypeScriptは、JavaScriptに型を導入することでより安全で保守性の高いコードを書くための言語です。Union型と配列は、特に多くのデータを扱う際に非常に便利です。この記事では、TypeScriptでUnion型と配列を組み合わせて効果的に使用する方法に焦点を当てます。
Union型の基本
Union型は、複数の異なる型のいずれかを受け入れることができる型です。例えば、number | string
というUnion型は、数値または文字列のどちらかを表します。この特性を利用することで、柔軟性のある関数や変数を作成することができます。
function printID(id: number | string) {
console.log(id);
}
printID(1001); // OK
printID("user123"); // OK
Union型と配列
Union型を配列と組み合わせることで、さらに表現力豊かなデータ構造を作成できます。例えば、Array<number | string>
という配列は、数値または文字列の要素を持つことができます。
let mixedArray: Array<number | string> = [1, "two", 3, "four", 5];
このような配列を操作する際に、TypeScriptは適切な型の推論を行います。例えば、mixedArray
から要素を取り出して処理する場合、適切な型のメソッドが利用できます。
mixedArray.forEach(item => {
if (typeof item === "number") {
console.log(item + 1); // 数値の場合の処理
} else {
console.log(item.toUpperCase()); // 文字列の場合の処理
}
});
Union型とジェネリクス
Union型をジェネリクスと組み合わせることで、より柔軟で再利用可能なコードを構築することができます。以下は、Union型を利用したジェネリクスの例です。
function getElement<T>(array: Array<T>, index: number): T {
return array[index];
}
let result1: number | string = getElement(mixedArray, 0);
let result2: boolean | string = getElement(["true", "false", "maybe"], 2);
このように、Union型と配列を組み合わせることで、型安全性を維持しつつ柔軟で表現力のあるコードを構築することができます。TypeScriptの機能を最大限に活用して、より堅牢でメンテナブルなアプリケーションを開発しましょう。