【发布时间】:2019-06-08 01:34:02
【问题描述】:
如上一题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 {}”以将该行带回上面的第一个 sn-p 时,编译器会接受它而不会出现任何错误。进一步测试表明该线路工作正常。
typescript 最近是否更改了此语法,因此具有泛型的箭头函数不再需要“扩展 {}”?
如果是这样,这是什么时候发生的?
【问题讨论】:
-
你最近更新了 Typescript 吗?除非安装了不同的版本,否则它不能在本地更改。我安装了 3.2.2 和 2.9.2。后者为我抛出该错误,前者接受它。所以他们一定是在某个地方固定了
-
@Lex 确实意味着前者(即 3.2.2)在没有
extends {}的情况下接受,但后者不接受? -
是的 3.2.2 接受它而没有
extends {}不确定何时引入此更改
标签: typescript