Sobes.tech
Middle+

Kā izsludināt jaunu tipu, kas balstīts uz Foo, bet bez lauciņiem a un c, neizmantojot Omit?

sobes.tech AI

Atbilde no AI

Lai deklarētu jaunu tipu, kas balstīts uz Foo, izslēdzot laukus a un c bez Omit izmantošanas, jūs varat izmantot Pick un Exclude kopēju. Piemēram, ja Foo ir ar laukiem a, b, c, d, jūs varat skaidri norādīt nepieciešamos laukus:

interface Foo {
  a: string;
  b: number;
  c: boolean;
  d: Date;
}

type WithoutAandC = Pick<Foo, Exclude<keyof Foo, 'a' | 'c'>>;

Šeit Exclude<keyof Foo, 'a' | 'c'> izslēdz a un c atslēgas no visām Foo atslēgām, un Pick izvēlas atlikušos laukus. Šādā veidā iegūstiet tipu bez a un c laukiem, tieši neizmantojot Omit.