NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
>[success] # Extract -- 联合类型交集 ~~~ 1.联合类型交集指定交集 ~~~ >[danger] ##### 源码 ~~~ type Extract<T, U> = T extends U ? T : never; ~~~ >[danger] ##### 案例 ~~~ type Type11 = Extract<'a' | 'b' | 'c', 'c' | 'b'|'f'> // type Type11 = "b" | "c" 取两者的交集 ~~~ >[danger] ##### 扩展获取接口交集 ~~~ type Intersect<T, U> = { [K in Extract<keyof T, keyof U>]: T[K]; }; interface Person { name: string; age?: number; weight?: number; } interface NewPerson { name: string; age?: number; } type T = Intersect<Person, NewPerson>; // 相当于 type T = { name: string; age?: number; }; ~~~