Vyhledávání na webu

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

Související články