Я застрял с одним из учебных программ в freeCodeCamp.org https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional
Код ниже - то, что я написал. В этом коде addTogether (2) (3) должно быть 5. Но вместо этого addTogether (2) (3) «неопределен»
в чем проблема?
Я прочитал все подсказки с форума freecodecamp. Но я не понимаю.
function addTogether() { var checkNum = function(x) { if (typeof x === "number") { return x } else { return undefined } } if (arguments.length > 1) { if (checkNum(arguments[0]) !== undefined && checkNum(arguments[1]) !== undefined) { return arguments[0] + arguments[1] } else { return undefined } } else { var a = arguments[0] if (checkNum(a) === undefined) { return undefined } else { return function(args2) { args2 + a } } } return false; } console.log(addTogether(2)(3))
Ваша возвращаемая функция не имеет возвращаемого значения. Вы можете использовать
return function(args2) { return args2 + a }
Или
return (args2) => args2 + a