javascript - Jak vynechat více vlastností stručným způsobem pomocí Omit<>
V následující definici typu používám Omit dvakrát, abych odstranil dvě vlastnosti z definice B. Rád bych věděl, zda je možné použít pouze jedno Omit a odstranit dvě nebo více vlastností najednou.
export type A = Readonly<{
x: number;
y: number;
j: string;
k: string;
}>;
export type B = Omit<A, 'j'> & Omit<A, 'k'>
Odpověď č. 1
Stačí použít unii jako druhý typový parametr k odstranění všech složek v unii z prvního typového parametru:
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;
// }
hrát
