Курированная функция вычисления суммы двух чисел

Функция первого вызова принимает первое число и возвращает функцию для второго. Второй вызов завершает вычисление и возвращает сумму двух чисел.

Короткий ответ

Что ответить на собеседовании

Функция первого вызова принимает первое число и возвращает функцию для второго. Второй вызов завершает вычисление и возвращает сумму двух чисел.

Подробный разбор

Ответ с пояснениями

Условие

Функция, вызываемая последовательно с двумя параметрами, которая возвращает их сумму.

Ответ

Функция первого вызова принимает первое число и возвращает функцию для второго. Второй вызов завершает вычисление и возвращает сумму двух чисел.

function sum(first) {
  return function (second) {
    return first + second;
  };
}
sum(3)(4); // 7
sum(-2)(5); // 3

Это каррирование: first хранится в замыкании до следующего вызова. Краткая запись — const sum = a => b => a + b. Дополнительный пустой вызов не нужен, поскольку число аргументов фиксировано. Передача двух аргументов одним вызовом не соответствует этому контракту.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее