Create a sum(), which makes following possible

const sum1 = sum(1)
sum1(2) == 3 // true
sum1(3) == 4 // true
sum(1)(2)(3) == 6 // true
sum(5)(-1)(2) == 6 // true

Solution

 function sum(num) {
    const func = function (num2) {
      return num2 ? sum(num + num2) : num; 
    };

    func.valueOf = () => num; 
    return func; 
  }
  console.log("RETURN", sum(2)(2)(1)());

  // ************another way*************^^^^^^^^^^^^^^
  function sumT(a) {
    return function (b) {
      if (b) {
        return sumT(a + b);
      }
      return a;
    };
  }

  console.log("sumT=====", sumT(2)(2)(1)());