我试图了解当我将函数的结果用作算术运算的一部分时,为什么Typescript引发类型转换n错误的原因。
这可能是我想说的话的例证。
let foo = ():number => 5
let bar = ():number => 2
let operation = ():number => foo/bar; // The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
let baz = foo()
let qux = bar()
let otherOperation = ():number => baz/qux; // no compilation errors
由于foo
和bar
都返回type number
,因此我假设它们的值可以用作算术运算的一部分。为什么不是这样?以及如何解决?
这不是错误。
foo
并且bar
是函数返回一个数字。他们本身不是数字。
foo/bar
无法编译,因为它不能有数值!就像是说,将平方根除以对数。对函数本身进行算术是没有意义的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句