跳到主要内容

工具类型实现

获取数组类型

type ArrayType<T extends any[]> = T extends Array<infer R> ? R : never;

从联合类型中去除 null 或者 undefined

type NonNullable<T> = T extends null | undefined ? never : T;