Middle+
Kā izsludināt jaunu tipu, kas balstīts uz Foo, bet bez lauciņiem a un c, neizmantojot Omit?
sobes.tech AI
Atbilde no AI
Lai deklarētu jaunu tipu, kas balstīts uz Foo, izslēdzot laukus a un c bez Omit izmantošanas, jūs varat izmantot Pick un Exclude kopēju. Piemēram, ja Foo ir ar laukiem a, b, c, d, jūs varat skaidri norādīt nepieciešamos laukus:
interface Foo {
a: string;
b: number;
c: boolean;
d: Date;
}
type WithoutAandC = Pick<Foo, Exclude<keyof Foo, 'a' | 'c'>>;
Šeit Exclude<keyof Foo, 'a' | 'c'> izslēdz a un c atslēgas no visām Foo atslēgām, un Pick izvēlas atlikušos laukus. Šādā veidā iegūstiet tipu bez a un c laukiem, tieši neizmantojot Omit.