为什么打字稿不能在这个通用函数中捕获我的类型?

时间:2017-05-23 15:13:07

标签: typescript

在某些情况下,在配置对象内部使用泛型时,不会捕获类型。

特别是,函数functionAThatTakesAnObject应捕获aNumber的类型,以便shouldBeInferedToBeANumber的类型应为number,而不是它的类型{ {1}}

任何想法为什么?我在这里错过了什么?这是bug吗?

这是a typescript playground link

以下是代码:

{}

修改

我的评论澄清:

  

我问为什么没有推断这种类型。我不想明确说出这种类型。对于某些背景,我在打字稿中编写了一个javascript库,javascript用户无法添加该断言,因此打字对他们有用的唯一方法是通过使用来推断类型。

1 个答案:

答案 0 :(得分:1)

修正了,只需标记这样的类型: enter image description here

<强>编辑:

这是另一种方式: enter image description here

编辑2:(使其与JS兼容)

enter image description here