具有功能参数的Rest运算符

时间:2018-12-04 07:11:23

标签: javascript rest operator-keyword

const sum = (function() {
  "use strict";
  return function sum(...args) {
    return args.reduce((a, b) => a + b, 0);
  };
})();
console.log(sum(1,2,3,4))
该代码按预期工作 但是请问有人如何解释这个js代码是如何工作的

2 个答案:

答案 0 :(得分:1)

除去所有噪音后,代码为

const sum = (...args) => args.reduce((a, b) => a + b, 0)

  • 接受任意数量的参数(...args
  • 将这些参数作为数组(args
  • 对其应用reduce
  • 将累加器初始化为0
  • 在每个reduce步骤上,将当前值b添加到累加器a

答案 1 :(得分:0)

...args  //The rest parameter syntax allows us to represent an indefinite number of arguments as an array.

enter image description here

Play here