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
整数 - - 整数
神奇地将“减号、空格、减号”转换为“加号”运算符。为什么?
更新:看起来我没有表达清楚。问题不是为什么在数学中双重否定总会计算为正数
,而是它如何神奇地计算出+
运算符;这是两种不同的情况——使一个负数变成正数是一回事,隐式调用+
是另一回事。