DarthJS
@DarthJS

Как вернуть результата выполнения вложенных функций?

Пытаюсь написать функцию, которая будет возвращать результат суммирования значений вложенных функций:
add(5)(5) // 10 add()()()() - вызовов может быть любое количество

function add () {
 let res = parseInt(Array.from(arguments));
 function ret () {
  const a = Array.from(arguments);
  res = parseInt(res) + parseInt(a);
  return ret;
 }
return ret;
}

Не могу понять, как определить что уже не вызывается внутренняя фукнция, а пора вернуть результат.
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
Подсказка:

Чтобы sum(1), а также sum(1)(2) можно было вызвать новыми скобками – результатом sum должна быть функция.

Но эта функция также должна уметь превращаться в число. Для этого нужно дать ей соответствующий valueOf. А если мы хотим, чтобы и в строковом контексте она вела себя так же – то toString.

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы