实现内置的 Exclude<T, U>
类型,但不能直接使用它本身。
从联合类型
T
中排除U
中的类型,来构造一个新的类型。
例如:
TypeScript
type Result = MyExclude<'a' | 'b' | 'c', 'a'> // 'b' | 'c'
解法:
TypeScript
type MyExclude<T, U> = T extends U ? never : T
TS中的extends解析:TypeScript extends 精读与实践 - 知乎 (zhihu.com)