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.