Answer
t.me/js_testОтвет:
const sum = num => {
let result = num;
const internalSum = num1 => {
if (num1||num1===0) {
result += num1;
return internalSum;
}
return result;
}
return internalSum;
}
Обьяснение:
При первом вызове функции sumмы создаём переменную result , в которую записываем значение num. Функция sum возвращает вложенную функцию internalSum, поведение которой зависит от входящего параметра: если параметр num1 отсутствует - она возвращает result, в другом случае она добавляет к result значение num1 и возвращает себя же.
Код для проверки:
const sum = num => {
let result = num;
const internalSum = num1 => {
if (num1||num1===0) {
result += num1;
return internalSum;
}
return result;
}
return internalSum;
}
sum(10)(20)(30)(); // 60
sum(-5)(0)(); // -5