Sobes.tech
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.