Generiklerle Typescript ok fonksiyonlarının sözdizimi değişti mi?
Önceki soruda açıklandığı gibi, Birkaç gün önce Typescript derleyicisi şunu kabul etmezdi: Typescript ok fonksiyonları için generics ile sözdizimi nedir:
const foo = <T>(x: T) => x
Çözüm olarak şunları kullanmaktı:
const foo = <T extends {}>(x: T) => x
Ancak dün, satırı yukarıdaki ilk örneğe geri getirmek için "extends {}" ifadesini kaldırdığımda, derleyicinin herhangi bir hata vermeden bunu kabul ettiğini fark ettim. Daha fazla test, satırın doğru şekilde çalıştığını gösterdi.
Typescript, jeneriklere sahip ok fonksiyonlarının artık "extends {}" gerektirmemesi için bu sözdizimini yakın zamanda değiştirdi mi?
Eğer öyleyse, bu ne zaman oldu?
Cevap #1
Bir .ts dosyasında mısın?
.tsx dosyasında, TypeScript <T> öğesini bir JSX açılış etiketi olarak ayrıştırmaya karar verir; ancak bir .ts dosyasında JSX izinli değildir ve bu yüzden TypeScript bunu bir tür parametresi olarak ayrıştırmakta sorun yaşamaz.