Middle+
Wie deklariert man einen neuen Typ basierend auf Foo, aber ohne die Felder a und c, ohne Omit zu verwenden?
sobes.tech KI
Antwort von AI
Um einen neuen Typ basierend auf Foo zu deklarieren, wobei die Felder a und c ausgeschlossen werden, ohne Omit zu verwenden, kann man die Schnittmenge mit Pick und Exclude nutzen. Zum Beispiel, wenn Foo die Felder a, b, c, d hat, kann man die benötigten Felder explizit angeben:
interface Foo {
a: string;
b: number;
c: boolean;
d: Date;
}
type WithoutAandC = Pick<Foo, Exclude<keyof Foo, 'a' | 'c'>>;
Hier schließt Exclude<keyof Foo, 'a' | 'c'> die Schlüssel a und c aus allen Schlüsseln von Foo aus, und Pick wählt die verbleibenden Felder aus. Auf diese Weise erhält man einen Typ ohne die Felder a und c, ohne direkt Omit zu verwenden.