Middle+
Hoe declareer je een nieuw type gebaseerd op Foo, maar zonder de velden a en c, zonder Omit te gebruiken?
sobes.tech AI
Antwoord van AI
Om een nieuw type op basis van Foo te declareren, waarbij de velden a en c worden uitgesloten zonder gebruik te maken van Omit, kun je gebruik maken van de intersectie met Pick en Exclude. Bijvoorbeeld, als Foo de velden a, b, c, d heeft, kun je duidelijk de benodigde velden specificeren:
interface Foo {
a: string;
b: number;
c: boolean;
d: Date;
}
type WithoutAandC = Pick<Foo, Exclude<keyof Foo, 'a' | 'c'>>;
Hier sluit Exclude<keyof Foo, 'a' | 'c'> de sleutels a en c uit alle sleutels van Foo, en Pick selecteert de overgebleven velden. Op deze manier krijg je een type zonder de velden a en c zonder direct Omit te gebruiken.