Use the Rest Operator with Function Parameters - A zero required?

It is the initial value supplied to the reduce, it’s not required. When you call reduce without that initial value, in the first reduce iteration, your a will be set to the first element of the array. And if you supply it, your a will be the initial value (0 in this case).

In your case for example, you don’t need to supply that argument. I actually helped someone not long ago to solve a bug where he didn’t supplied the initial value in a case that was necessary. If you want to take a look, it may help you to understand it: Sum All Odd Fibonacci Numbers solution not passing all tests