如果使用一元+/-运算符作为Number()强制转换函数来执行转换,那么我们为什么需要一元运算符?这些一元运算符的特殊需求是什么?
发布于 2011-03-27 23:13:36
一元+运算符将其操作数转换为Number类型。一元-运算符将其操作数转换为Number类型,然后对其求反。(根据ECMAScript spec)
在实践中,一元-用于简单地将负数放在正常表达式中,例如:
var x = y * -2.0;这就是一元减号运算符的作用。一元+等同于作为函数调用的Number()构造函数,正如规范所暗示的那样。
我只能推测历史,但在许多C派生语言中,一元+/-运算符的行为类似。我怀疑Number()行为是添加到这里的语言。
发布于 2021-10-06 17:51:18
实际情况是,如果您有一个函数需要返回一个可以使用的数字
const result = +yourFunc()而不是
const result = Number(yourFunc())或
const result = -yourFunc()而不是
const result = -Number(yourFunc())它将以与NaN ()相同的方式返回Number。
IMO让事情变得更难读,但对保持你的代码简短有帮助吗?
https://stackoverflow.com/questions/5450076
复制相似问题