Sobes.tech
Middle+

Foo temelinde yeni bir tür nasıl tanımlanır, ancak a ve c alanları olmadan, Omit kullanmadan?

sobes.tech yapay zeka

AI'dan gelen yanıt

Foo temel alan ve a ile c alanlarını kullanmadan yeni bir tür tanımlamak için, Pick ve Exclude ile kesişimi kullanabilirsiniz. Örneğin, Foo'nun a, b, c, d alanları varsa, ihtiyaç duyulan alanları açıkça belirtebilirsiniz:

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

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

Burada, Exclude<keyof Foo, 'a' | 'c'> a ve c anahtarlarını Foo'nun tüm anahtarlarından çıkarır ve Pick kalan alanları seçer. Böylece, doğrudan Omit kullanmadan a ve c alanları olmayan bir tür elde edilir.