Omit 用于创建一个新的类型,该类型包含了原始类型`T`的所有属性,但排除了指定的键`K`
在TypeScript中,Omit<T, K>是一个内置的实用类型(从TypeScript 3.5版本开始提供),用于创建一个新的类型,该类型包含了原始类型T的所有属性,但排除了指定的键K。
其定义如下:
type Omit<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>;
这个类型的工作原理是首先找出T的所有键(keyof T),然后使用Exclude来排除掉那些与K相匹配的键。最后通过Pick取出剩余的键及其对应的类型值。
举例说明:
interface Person {
name: string;
age: number;
location: string;
}
type WithoutLocation = Omit<Person, 'location'>;
// 此时WithoutLocation 类型为:
// {
// name: string;
// age: number;
// }
在这个例子中,WithoutLocation类型就是从Person接口中剔除了location属性后的类型。

浙公网安备 33010602011771号