JSFiddle - React, Tailwind, and code Playground
by Vladymyr Shevchuk
JavaScript
/**
* Sum
* @param {number} n index
* @returns {number}
*/
function sum (n) {
/* const innerSum = () => {} */;
function innerSum (value) {
const number = parseInt(n, 10);
if (innerSum.accum) {
innerSum.accum += number;
} else {
innerSum.accum = number;
}
return innerSum;
}
innerSum[Symbol.toPrimitive] = () => {
return innerSum.accum;
};
return innerSum;
}
console.error(+sum(1)(2));
console.error(+sum(1)(3));