JSFiddle - React, Tailwind, and code Playground

by Vadim

JavaScript

/* Написать функцию, которая при вызове:
 * sum(1) //выводит в консоль 1
 * sum(1)(2)(3) //выводит в консоль 1 3 6
 */


// with memo
function summ(n){
	summ.summ = summ.summ === undefined ? n : summ.summ + n
  console.log(summ.summ)
  return summ
}

console.log('\n summ')
summ(1) // 1 
summ(1)(2)(3) // 2 4 7

// with closure
function summ2(n){
  let rez = n;
  console.log(n)
  return function innerSumm(n){
    rez += n
    console.log(rez)
    return innerSumm
  }
}

console.log('\n summ2')
summ2(1) // 1
summ2(1)(2)(3) // 1 3 6