删除接口中boolean类型
// 删除boolean类型属性
interface MockType {
name:string;
flag:boolean;
}
// 这里注意{}[keyof] 的使用,可筛选出非never类型的key
type PickBoolKeys<T> = Omit<T,{ [K in keyof T] : T[K] extends boolean ? K : never }[keyof T]>
const test:PickBoolKeys<MockType> = {
name:'string'
}
文档
https://www.typescriptlang.org/docs/handbook/2/mapped-types.html