TypeScript 数值字面量类型不尊重算术运算,

wbgh16ku  于 4个月前  发布在  TypeScript
关注(0)|答案(5)|浏览(136)
declare var a : -1 | 0 | 1;
a = -a; // <-- problem
plupiseo

plupiseo1#

这是设计决策之一,不进行任何类型的算术运算。参见 #8112

scyqe7ek

scyqe7ek2#

Hm.这是#8112所说的吗?
目前在算术运算类型上的流程有一些奇怪的行为。
我还没有在#7480中找到关于这个问题的提及。我们能一起思考一下有什么具体的问题吗?

piah890a

piah890a3#

@mhegazy,出于好奇,你在算术类型上的流程问题是什么?正如@tycho01指出的,在你提到的问题中没有提到这个。

bxpogfeg

bxpogfeg4#

#26382 已被确定为此内容的重复,尽管后者是关于允许在类型级别进行算术的,而这个似乎更关注推断和流程。
无论如何,我认为现在元组类型变得越来越强大,重新审视这个想法可能是合理的,这样我们就可以更接近需要的依赖类型来实现强类型化这样的方法,如 Function['bind'] 。(与 #26223 相关)

dced5bon

dced5bon5#

这里有 Inc<>Dec<> ( typical ) 以及 Minus<> ( ts-toolbelt )。
在进行类型操作时,这是至关重要的。
自定义实现具有局限性,效率极低。
在 TypeScript 4.1 中加入 intrinsic,如果 TypeScript 能够提供这些基本类型,那就太好了。

相关问题