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.

İlgili makaleler