Middle+
Как да обявите нов тип въз основа на Foo, но без полетата a и c, без да използвате Omit?
sobes.tech AI
Отговор от AI
За да обявите нов тип въз основа на Foo, като изключите полетата a и c без да използвате Omit, можете да използвате пресечението с Pick и Exclude. Например, ако Foo има полета a, b, c, d, можете ясно да посочите необходимите полета:
interface Foo {
a: string;
b: number;
c: boolean;
d: Date;
}
type WithoutAandC = Pick<Foo, Exclude<keyof Foo, 'a' | 'c'>>;
Тук Exclude<keyof Foo, 'a' | 'c'> изключва ключовете a и c от всички ключове на Foo, а Pick избира останалите полета. По този начин се получава тип без полетата a и c, без да се използва директно Omit.