Exclude<T, U>
TypeScript 2.8
中增加了 Exclude
类型,该如何理解这个高级类型的定义呢?
type Exclude<T, U> = T extends U ? never : T;
从 Exclude
的定义来看,就是判断 T
是否继承于 U
,如果是,则返回 never
,否则返回 T
。
1. T, U 之间的关系,是否是基于结构相似呢?
interface IPerson {
name: string,
age: number,
sex: 0 | 1,
}
interface IMan {
name: string,
age