Middle+
Cum se declară un nou tip bazat pe Foo, dar fără câmpurile a și c, fără a folosi Omit?
sobes.tech AI
Răspuns de la AI
Pentru a declara un nou tip bazat pe Foo, excluzând câmpurile a și c fără a folosi Omit, poți folosi intersecția cu Pick și Exclude. De exemplu, dacă Foo are câmpurile a, b, c, d, poți specifica clar câmpurile necesare:
interface Foo {
a: string;
b: number;
c: boolean;
d: Date;
}
type WithoutAandC = Pick<Foo, Exclude<keyof Foo, 'a' | 'c'>>;
Aici, Exclude<keyof Foo, 'a' | 'c'> exclude cheile a și c din toate cheile lui Foo, iar Pick selectează câmpurile rămase. Astfel, obții un tip fără câmpurile a și c fără a folosi direct Omit.