Sobes.tech
Middle+

Come dichiarare un nuovo tipo basato su Foo, ma senza i campi a e c, senza usare Omit?

sobes.tech AI

Risposta dell'AI

Per dichiarare un nuovo tipo basato su Foo, escludendo i campi a e c senza usare Omit, puoi utilizzare l'intersezione con Pick e Exclude. Ad esempio, se Foo ha i campi a, b, c, d, puoi specificare chiaramente i campi necessari:

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

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

Qui, Exclude<keyof Foo, 'a' | 'c'> esclude le chiavi a e c da tutte le chiavi di Foo, e Pick seleziona i campi rimanenti. In questo modo, si ottiene un tipo senza i campi a e c senza usare direttamente Omit.