Sobes.tech
Middle+

Kuidas deklareerida uus tüüp, mis põhineb Foo-l, kuid ilma väljadeta a ja c, ilma Omit-i kasutamata?

sobes.tech AI

Vastus AI-lt

Et deklarere en ny type basert på Foo, unntatt feltene a og c uten å bruke Omit, kan du bruke skjæringspunktet med Pick og Exclude. For eksempel, hvis Foo har feltene a, b, c, d, kan du tydelig spesifisere de nødvendige feltene:

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

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

Her ekskluderer Exclude<keyof Foo, 'a' | 'c'> nøklene a og c fra alle nøklene i Foo, og Pick velger de gjenværende feltene. På denne måten får du en type uten feltene a og c, uten å bruke Omit direkte.