any, unknown ve never tipleri arasındaki fark nedir?
Cevap
- any: tip kontrolünü tamamen kapatır. Her şey atanabilir ve her işlem yapılabilir. Mümkün olduğunca kaçınılmalıdır.
- unknown: "ne olduğunu bilmiyorum" demektir. Her şey atanabilir ama kullanmadan önce daraltmak (type narrowing) gerekir. Dış kaynaktan gelen veri için güvenli seçimdir.
- never: asla oluşmayacak değerin tipidir. Hep hata fırlatan fonksiyonların dönüş tipi ve kapsamlı kontrol (exhaustive check) için kullanılır.
function isle(veri: unknown) {
if (typeof veri === "string") return veri.toUpperCase(); // daraltıldı
// veri.toUpperCase(); // hata: unknown
}
type Sekil = { tur: "daire"; r: number } | { tur: "kare"; a: number };
function alan(s: Sekil) {
switch (s.tur) {
case "daire": return Math.PI * s.r ** 2;
case "kare": return s.a ** 2;
default: { const kontrol: never = s; return kontrol; } // yeni tür eklenirse derleme hatası
}
}İlgili TypeScript soruları
- Generic (jenerik) tipler nedir? Bir örnekle açıklayın.
- interface ile type alias arasındaki farklar nelerdir?
- TypeScript nedir, JavaScript'e göre avantajları nelerdir?
- tsconfig.json'daki strict modu neleri açar, neden önemlidir?
- TypeScript'te enum ile union literal tip arasında hangisini tercih edersiniz?
- Mapped type ve conditional type nedir? Örnek verin.
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.