Sobes.tech
Middle+

Cum se declară un nou tip bazat pe Foo, dar fără câmpurile a și c, fără a folosi Omit?

sobes.tech AI

Răspuns de la AI

Pentru a declara un nou tip bazat pe Foo, excluzând câmpurile a și c fără a folosi Omit, poți folosi intersecția cu Pick și Exclude. De exemplu, dacă Foo are câmpurile a, b, c, d, poți specifica clar câmpurile necesare:

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

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

Aici, Exclude<keyof Foo, 'a' | 'c'> exclude cheile a și c din toate cheile lui Foo, iar Pick selectează câmpurile rămase. Astfel, obții un tip fără câmpurile a și c fără a folosi direct Omit.