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.