For the first argument, 1, the callback is invoked with a = 0 and b = 1 it subtracts 0 - 1 which is -1.
For the second argument, 2, the callback is invoked with a = -1, the value returned from the previous call and b = 2. It subtracts -1 - 2 which becomes -3 and it returns -3 because there are only two values passed. Try passing more values and see what it returns.
I hope that is helpful. For more about .reduce, you can also read the docs at MDN.