Utility Types チートシート
readonly へ変換する
Readonly<T>
optional を取り除く
Required<T>
optional へ変換する
Partial<T>
T から K を抽出する
Pick<T, K>
T から K を取り除く
Omit<T, K>
T から null と undefined を取り除く
NonNullable<T>
関数Tの返り値の型を抽出する
ReturnType<T>
Tクラスのインスタンス型を返す
InstanceType<typeof T>
T と U の共通部分を取り除く
Exclude<T, U>
T と U の共通部分のみ抽出する
Extract<T, U>
K に対して T 型を割り当てる
K に union types を使う場合に強力です。
Record<K,T>
関数の引数の型を抽出する
Parameters<関数型>
Parameters<typeof 関数>