Use the Rest Operator with Function Parameters - what is the zero for?

Tell us what’s happening:
Could someone please tell me what is the purpose of the zero in this part of the code: ((a, b) => a + b, 0)?

Your code so far


const sum = (function() {
  "use strict";
  return function sum(x, y, z) {
    const args = [ x, y, z ];
    return args.reduce((a, b) => a + b, 0);
  };
})();
console.log(sum(1, 2, 3)); // 6

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/es6/use-the-rest-operator-with-function-parameters/

It is the starting value of the accumulator
If you specify the starting value of the accumulator, than the accumulator starts at the value you specify (0 in this case), and the method starts iterating from index 0
If you don’t specify anything, then the accumulator start with a value of arr[0] and the method start iterating from index 1
See documentation for more infos: