在下面的类型定义中,我两次使用 Omit
从 B
定义中删除两个属性。
我想知道是否可以只使用一个 Omit
但一次性删除两个或更多属性。
export type A = Readonly<{
x: number;
y: number;
j: string;
k: string;
}>;
export type B = Omit<A, 'j'> & Omit<A, 'k'>
最佳答案
你只需要使用一个联合作为第二个类型参数,从第一个类型参数中删除联合中的所有成分:
export type A = Readonly<{
x: number;
y: number;
j: string;
k: string;
}>;
export type B = Omit<A, 'j' | 'k'>
// Same as
// type B = {
// readonly x: number;
// readonly y: number;
// }
关于javascript - 如何使用 Omit<> 以简洁的方式省略多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57603599/