Typescript ジェネリクス
2024/7/3
Generics
Genericsは抽象的な型引数を使うことで、実際に利用されるまで型が確定しないコンポーネントや関数を実装することができる。
基本的な使い方
- Genericsを使用したい関数の後ろに
<>
で囲む形で型パラメータを指定する。
- 型パラメータに使用する引数名はなんでもいいが、一般的には
T
が使われる。
ジェネリクスに制約を加える
extends
を使用してジェネリクスに制約を加えることで、特定のプロパティやメソッドが存在する型に限定することができる。
上記の例では、ジェネリック型T
がLengthwise
インターフェイスを拡張しているため、T
型の型引数にlength
プロパティを強制させることになる。
また、以下のようにkeyof
を使って制約を加えることもできる
クラスにおけるジェネリクス
インターフェイスにおけるジェネリクス
Genericsのユーティリティ
Typescriptが独自に用意しているユーティリティ型が利用できる
Utility Types
以下では、Partial
とReadonly
というユーティリティ型を使用
back