declare var a : -1 | 0 | 1; a = -a; // <-- problem
plupiseo1#
这是设计决策之一,不进行任何类型的算术运算。参见 #8112 。
scyqe7ek2#
Hm.这是#8112所说的吗?目前在算术运算类型上的流程有一些奇怪的行为。我还没有在#7480中找到关于这个问题的提及。我们能一起思考一下有什么具体的问题吗?
piah890a3#
@mhegazy,出于好奇,你在算术类型上的流程问题是什么?正如@tycho01指出的,在你提到的问题中没有提到这个。
bxpogfeg4#
#26382 已被确定为此内容的重复,尽管后者是关于允许在类型级别进行算术的,而这个似乎更关注推断和流程。无论如何,我认为现在元组类型变得越来越强大,重新审视这个想法可能是合理的,这样我们就可以更接近需要的依赖类型来实现强类型化这样的方法,如 Function['bind'] 。(与 #26223 相关)
Function['bind']
dced5bon5#
这里有 Inc<> 和 Dec<> ( typical ) 以及 Minus<> ( ts-toolbelt )。在进行类型操作时,这是至关重要的。自定义实现具有局限性,效率极低。在 TypeScript 4.1 中加入 intrinsic,如果 TypeScript 能够提供这些基本类型,那就太好了。
Inc<>
Dec<>
typical
Minus<>
ts-toolbelt
intrinsic
5条答案
按热度按时间plupiseo1#
这是设计决策之一,不进行任何类型的算术运算。参见 #8112 。
scyqe7ek2#
Hm.这是#8112所说的吗?
目前在算术运算类型上的流程有一些奇怪的行为。
我还没有在#7480中找到关于这个问题的提及。我们能一起思考一下有什么具体的问题吗?
piah890a3#
@mhegazy,出于好奇,你在算术类型上的流程问题是什么?正如@tycho01指出的,在你提到的问题中没有提到这个。
bxpogfeg4#
#26382 已被确定为此内容的重复,尽管后者是关于允许在类型级别进行算术的,而这个似乎更关注推断和流程。
无论如何,我认为现在元组类型变得越来越强大,重新审视这个想法可能是合理的,这样我们就可以更接近需要的依赖类型来实现强类型化这样的方法,如
Function['bind']
。(与 #26223 相关)dced5bon5#
这里有
Inc<>
和Dec<>
(typical
) 以及Minus<>
(ts-toolbelt
)。在进行类型操作时,这是至关重要的。
自定义实现具有局限性,效率极低。
在 TypeScript 4.1 中加入
intrinsic
,如果 TypeScript 能够提供这些基本类型,那就太好了。