Typescript Hatası "Nesne 'unknown' türünde."
Dün, kod tabanı üzerinde çalışırken hiçbir sorun yaşamadık.
Öte yandan, bu sabah, tüm hataların daha önceki any türü yerine Unknown olarak ele alındığı bir duruma rastladık.
Bu değişikliği nasıl geri alabilirim. Yalnızca değişikliğe atıfta bulunan korkunç derecede kafa karıştırıcı bir sürü GitHub sohbeti bulabiliyorum, ancak bu kırıcı değişikliğin hangi sürümde eklendiğini gerçekten belirten hiçbir şey yok.
Teşekkürler.
Cevap #1
hangi sürümde bu geri uyumsuz değişikliğin eklendiğini gerçekten belirten yok
Bu, TypeScript 4.4'ün yeni bir özelliğidir. Catch parametreleri artık varsayılan olarak unknown olarak ayarlanır. Bu, hata yönetimini daha güvenli hale getirir. Bulduğunuz gibi "useUnknownInCatchVariables": false bir çözümdür.
Ancak, gelecekteki kodun güvenliği için bu seçeneği ayarlamamanızı ve bunun yerine anlamlıysa açıkça any eklemenizi veya mevcut kodun güvenliğinden yararlanmak için özel tür koruyucuları eklemenizi tavsiye ederim.
Daha
- TypeScript resmi blog gönderisi: https://devblogs.microsoft.com/typescript/announcing-typescript-4-4/
- Konu hakkında bir video da yaptım: https://www.youtube.com/watch?v=JyBvFey7pVc
Cevap #2
Tonlarca googling yaptıktan sonra, bunu bir park yorumunda buldum...
Derleyici seçeneklerinizde "useUnknownInCatchVariables": false, olarak ayarlamak bunu düzeltecektir.