Middle+
¿Cómo declarar un nuevo tipo basado en Foo, pero sin los campos a y c, sin usar Omit?
sobes.tech AI
Respuesta de la IA
Para declarar un nuevo tipo basado en Foo, excluyendo los campos a y c sin usar Omit, puedes usar la intersección con Pick y Exclude. Por ejemplo, si Foo tiene los campos a, b, c, d, puedes especificar claramente los campos necesarios:
interface Foo {
a: string;
b: number;
c: boolean;
d: Date;
}
type WithoutAandC = Pick<Foo, Exclude<keyof Foo, 'a' | 'c'>>;
Aquí, Exclude<keyof Foo, 'a' | 'c'> excluye las claves a y c de todas las claves de Foo, y Pick selecciona los campos restantes. De esta manera, se obtiene un tipo sin los campos a y c sin usar directamente Omit.