Why does this pass?

tests passed buy I don’t know why. Where did “a” and “b” come from? They are not declared or assigned. I don’t know exactly what return args.reduce((a, b) => a + b, 0); is doing.

Your code so far


const sum = (...args) => {

return args.reduce((a, b) => a + b, 0);
}

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36.

Challenge: Use the Rest Parameter with Function Parameters

Link to the challenge:

this is an anonymous function passed as argument of reduce

you can read more about reduce here: