删除接口中boolean类型

    1. // 删除boolean类型属性
    2. interface MockType {
    3. name:string;
    4. flag:boolean;
    5. }
    6. // 这里注意{}[keyof] 的使用,可筛选出非never类型的key
    7. type PickBoolKeys<T> = Omit<T,{ [K in keyof T] : T[K] extends boolean ? K : never }[keyof T]>
    8. const test:PickBoolKeys<MockType> = {
    9. name:'string'
    10. }

    文档
    https://www.typescriptlang.org/docs/handbook/2/mapped-types.html