メインコンテンツまでスキップ

Extract<T, U>

Extract<T, U>は、ユニオン型TからUで指定した型だけを抽出した型を返すユーティリティ型です。

Extract<T, U>の型引数#

T#

型引数Tには、抽出されるほうのユニオン型を渡します。

U#

型引数Uには、抽出したい型を渡します。

Extractの使用例#

typescript
type Grade = "A" | "B" | "C" | "D" | "E";
type FailGrade = Extract<Grade, "D" | "E">;
//=> "D" | "E"
typescript
type Grade = "A" | "B" | "C" | "D" | "E";
type FailGrade = Extract<Grade, "D" | "E">;
//=> "D" | "E"

Extractは2つのユニオン型の共通部分を導き出すことにも使えます。

typescript
type CommonTypes = Extract<"a" | "b" | "c", "b" | "c" | "d">;
// "b" | "c"
typescript
type CommonTypes = Extract<"a" | "b" | "c", "b" | "c" | "d">;
// "b" | "c"

関連情報#