TypeScript 类型体操 —— Omit

271 阅读1分钟

题目地址

Omit

Omit 是 typescript 的一种内置泛型,它的作用是从一个类型中创建一个新类型,并且删除原类型中指定的一些属性。使用方法如下:

interface ExampleType {
  property1: string;
  property2: number;
  property3: boolean;
}

type OmittedType = Omit<ExampleType, 'property2'>;
// 结果为:{property1: string, property3: boolean}

实现

type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;

其中,T 表示原类型,K 表示要删除的属性的键名。