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-ის გამოყენების გარეშე.