我理解所有代码,直到它达到零?为什么需要这里?
const sum = (function() {
"use strict";
return function sum(...args) {
return args.reduce((a, b) => a + b, 0);
};
})();
答案 0 :(得分:3)
reduce()
的第二个参数指定初始值。它几乎可以是任何东西。
在您的示例中,它正在将其初始化为0
。参数a
和b
的命名很差。通常,参数更像result
和value
,您可以看到将value
添加到result
(已初始化为0
)。
const sum = [1,2,3].reduce((result, value) => {
console.log({ result, value });
return result + value;
}, 0);
console.log('Sum', sum);