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.