```
node -e 'console.log(- -1)' // prints 1 which makes sense

```

However:

```
node -e 'console.log(1 - - 1)' // prints 2 which does not make sense to me

```

`integer - - integer` magically converts "minus, space, minus" to the "plus" operator. Why?

**Update:** It seems I wasn't clear enough. The question is not why `double negative in mathematics will always evaluate to a positive` but how this magically evaluates to the `+` operator; these are two different scenarios - making a negative number positive is one thing, invoking implicitly the `+` is another thing.