sum function

by Vladymyr Shevchuk

JavaScript

function sum(...args) {
  function recSum(num) {
    return sum(...args, num)
  }
  recSum.valueOf = function() {
    return args.reduce((acc, n)=> acc + n, 0)
  };
  return recSum;
}


console.assert(+sum(1)(2)(3) === 6, 'should return sum of all arguments');