Оператор покоя с параметром функции - PullRequest
0 голосов
/ 04 декабря 2018

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 голосов
/ 04 декабря 2018
...args  //The rest parameter syntax allows us to represent an indefinite number of arguments as an array.

enter image description here

Играть здесь

0 голосов
/ 04 декабря 2018

С удаленным шумом, код

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

, который

  • принимает любое количество аргументов (...args)
  • принимает эти аргументыв качестве массива (args)
  • применить reduce к нему
  • , инициализировать аккумулятор на 0
  • на каждом шаге reduce, добавить текущее значениеb аккумулятору a
...