На самом деле довольно стремный код
Если передаю только первый аргумент, тов результате получаю функцию, куда могу передать второй аргумент
function addTogether(first, second) {
if (typeof first !== "number") {
return undefined;
}
const sum = function(second) {
if (typeof second === "number") {
return first + second
} else {
return undefined
}
}
if (typeof second === "undefined") {
return function(second) {
return sum(second)
}
} else {
return sum(second)
}
}
// test here
console.log(addTogether(2, 3));
console.log(addTogether(2)(3));