8. Extract<T, U>を実装する

TypeScript

  - accepted / - tried

Exclude<T, K>と逆で、 Extract<T, U>は、TからUに代入できるメンバーを抽出したtypeを返す。

MyExtract<T, U>を実装してみてください。

type Foo = 'a' | 'b' | 'c'type A = MyExtract<Foo, 'a'> // 'a'type B = MyExtract<Foo, 'a' | 'b'> // 'a' | 'b'type C = MyExtract<Foo, 'b' | 'c' | 'd' | 'e'>  // 'b' | 'c'type D = MyExtract<Foo, never>  // never

5分間以内で解いてみて