Функция сложения, реализованная через каррирование

Каррирование превращает функцию двух аргументов в цепочку из двух функций: первая запоминает первое число, вторая принимает второе и возвращает сумму.

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

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

Каррирование превращает функцию двух аргументов в цепочку из двух функций: первая запоминает первое число, вторая принимает второе и возвращает сумму.

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

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

Условие

Реализуйте функцию, которая складывает два числа, используя технику каррирования.

Ответ

Каррирование превращает функцию двух аргументов в цепочку из двух функций: первая запоминает первое число, вторая принимает второе и возвращает сумму.

const add = a => b => a + b;
add(2)(3); // 5
const addTen = add(10);
addTen(4); // 14

Значение a сохраняется в замыкании. Каждый вызов add создаёт независимую функцию. Это не бесконечная цепочка и не вызов add(2, 3): контракт требует именно двух последовательных вызовов. Предполагаются числа, иначе оператор + может выполнить конкатенацию.

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

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

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

Подробнее