function sum(...args){ if([...args].length == 1){ let sum2 = [...args][0]; var suum = function (y){ // console.log(y) sum2 += y; console.log(`output ${sum2}`) return suum; } // suum.valueOf = function(){ // return sum2; // } return suum; } else{ let sum1 = 0; for(var i = 0;i < [...args].length; i++){ sum1 += [...args][i]; } console.log(`outPut1 ${sum1}`); // return sum1 } } sum(1, 2)(3).valueOf() sum(4)(3, 2, 1)(5, 6).valueOf()