node -e 'console.log(- -1)' // prints 1 which makes sense
然而:
node -e 'console.log(1 - - 1)' // prints 2 which does not make sense to me
integer - - integer
神奇地将“减号,空格,减号”转换为“加号”运算符。为什么呢?
更新:似乎我不够清楚。问题不是为什么double negative in mathematics will always evaluate to a positive
,而是如何神奇地评估+
运算符;这是两种不同的情况 - 使负数正为一,隐式调用+
是另一回事。
答案 0 :(得分:10)
有一个完美的意义,数学中的双重否定将总是评估为积极的
答案 1 :(得分:4)
您的-
个字符之一是一元减号或负号。这使你的一个文字成为“负面的”。另一个是减法。
1 - - 1
与:
相同1 - (-1)
虽然
- - 1
与
相同0 - (-1)
答案 2 :(得分:1)
它将1 - - 1
解释为1 - -1
等于2。
答案 3 :(得分:0)
如果你考虑一下,“ - -1”等于“+1”,所以“1 - - 1”等于“1 + 1”,等于2。
答案 4 :(得分:0)
在数学foo[:key]
中。如果我-- = +
,我会1 - (-1)
。减去负数与添加数字相同......