Sobes.tech
Middle+

Kako deklarisati novi tip zasnovan na Foo, ali bez polja a i c, bez korišćenja Omit?

sobes.tech АИ

Одговор од АИ

Da biste deklarisali novi tip zasnovan na Foo, isključujući polja a i c bez korišćenja Omit, možete koristiti presecanje sa Pick i Exclude. Na primer, ako Foo ima polja a, b, c, d, možete jasno navesti potrebna polja:

interface Foo {
  a: string;
  b: number;
  c: boolean;
  d: Date;
}

type WithoutAandC = Pick<Foo, Exclude<keyof Foo, 'a' | 'c'>>;

Ovde, Exclude<keyof Foo, 'a' | 'c'> isključuje ključeve a i c iz svih ključeva Foo, a Pick bira preostala polja. Na taj način, dobijate tip bez polja a i c bez direktnog korišćenja Omit.