Hi,

I was working through a code challenge and struggling. When I viewed the solution I noticed the following:

(I’ve simplified the problem below as the full challenge is long.)

```
let num = -10;
console.log(-num); // Will log positive 10 to the console.)
```

Why does the above log 10 to console. What is the code actually doing behind the hood. Does it look like this when being worked out:

```
console.log(--10);
```

If so, why does --10 = positive 10?

I think this is fairly simple maths and feel silly as I can’t wrap my head around it.

To begin with, you can think of `-10`

as being equivalent to `-1 * 10`

.

So then you can think of doing `-1 * (-1 * 10)`

as being the same as `-(-10)`

.

Multiplication doesn’t care about order when it’s just by itself, so

`a * (b * c) = (a * b) * c = a * b * c`

.

Notice `-1 * -1 = 1`

… and so you can think `(-1 * -1) * 10 = ?`

and you’re left with `1 * 10 = 10`

Finally, I think I understand! Thank you

Am I on the right lines if I think of it like this and break it down as such:

console.log(-num); // Is the same as…

console.log(-(-num)) // which is the same as…

console.log (-1(-10) // which is the same as…

console.log(-1 * -10) // which equals 10!

Therefore console.log(-num) // Will print 10 to the console.

console.log(-num); // Is the same as…

console.log(-(-10)) //

which is not (-(-num)) — that’s (-(-(-10))) but other than that yes.

Oops yes, missed that! Thank you again, really helpful