为什么"减号,空格,减号"评估为"加号"运算符?

Vid*_*dul 3 javascript

node -e 'console.log(- -1)' // prints 1 which makes sense
Run Code Online (Sandbox Code Playgroud)

然而:

node -e 'console.log(1 - - 1)' // prints 2 which does not make sense to me
Run Code Online (Sandbox Code Playgroud)

integer - - integer神奇地将"减号,空格,减号"转换为"加号"运算符.为什么?

更新:似乎我不够清楚.问题不是为什么,double negative in mathematics will always evaluate to a positive而是如何神奇地评估+运营商; 这是两种不同的情况 - 使负数正是一回事,隐含地调用+是另一回事.

Dar*_*n H 10

有了完美的意义,数学中的双重否定将永远评价为积极的