TypeScript'te gelişmiş tür desenleri
TypeScript türleri, kod çalıştırılmadan önce bazı uyumsuzlukları bulmaya yardımcı olur. Jenerikler, koşullu türler ve etiketli birleşimler bu kontrolleri yeniden kullanmanızı sağlar. Dışarıdan gelen verinin çalışma sırasında doğrulanması yine gerekir.
Jenerik Türler
Jenerikler, bir işlev veya bileşendeki girdilerle çıktılar arasındaki tür ilişkisini korur. Aynı yapıyı farklı veri türleriyle kullanmak istediğinizde işe yarar.
Kısıtlı Jenerikler
extends ile tür parametresinin taşıması gereken özellikleri belirleyebilirsiniz. Böylece işlev, kullanacağı alanların varlığını derleme sırasında kontrol eder.
Koşullu Türler
Koşullu türler, bir tür ilişkisine göre farklı türler seçmenizi sağlar. Örneğin bir API yanıtındaki verinin türünü ortak bir yanıt yapısından çıkarabilirsiniz.
Mapped Types
Mevcut türlerden yeni türler türetmek için mapped types kullanın:
- Partial ile tüm alanları opsiyonel yapın
- Required ile tüm alanları zorunlu yapın
- Readonly ile değiştirilemez türler oluşturun
Template Literal Types
Şablon sabit türleriyle metin değerlerinin biçimini tür düzeyinde tanımlayabilirsiniz. Olay adları veya belirli bir öneki taşıyan anahtarlar için kullanılabilir.
Discriminated Unions
Etiketli birleşim türleri, güvenli tür daraltma sağlar. Her varyantın benzersiz bir ayırt edici özelliği olmalıdır.
Sonuç
Türleri, kodu okuyan kişinin anlayabileceği kadar sade tutun. Bir tür dönüşümü hataları yakalamıyorsa veya kullanımını zorlaştırıyorsa daha açık bir yapı tercih edin.