7. 实现 Exclude
简单
实现内置的工具类型 Exclude<T, U>
,但不能使用它。其作用是从联合类型 T
中排除 U
的类型成员,返回一个新的类型。
例如:
// 得到联合类型 'movies' | 'books'。
type Result1 = MyExclude<'movies' | 'books' | 'games', 'games'>
// 得到类型 'movies'
type Result2 = MyExclude<'movies' | 'books' | 'games', 'books' | 'games'>
// 得到联合类型 string | number
type Result3 = MyExclude<string | number | (() => void), Function>