带有泛型的Typescript箭头功能的语法是否更改?

时间:2019-01-14 02:31:31

标签: typescript

如上一个问题What is the syntax for Typescript arrow functions with generics中所述,几天前Typescript编译器不接受:

const foo = <T>(x: T) => x

解决方法是使用:

const foo = <T extends {}>(x: T) => x

但是,昨天我注意到,当我删除“ extends {}”时,要将行带回到上面的第一个代码段中,编译器将接受它而不会出现任何错误。进一步测试表明该生产线工作正常。

打字稿最近是否更改了此语法,以使带有泛型的箭头功能不再需要“扩展{}”?

如果是这样,什么时候发生?

1 个答案:

答案 0 :(得分:3)

您是否在.ts文件中?

.tsx文件中,TypeScript决定将<T>解析为JSX开头标记;但是,在.ts文件中,不允许使用JSX,因此TypeScript可以很好地将其解析为类型参数。