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.