Карирование — это техника функционального программирования, которая преобразует функцию с несколькими аргументами в последовательность функций, каждая из которых принимает один аргумент.
Вместо того, чтобы вызывать функцию со всеми аргументами сразу:
const add = (a, b) => a + b;
add(2, 3); // 5
Каррированная версия выглядит вот так:
const add = a => b => a + b;
add(2)(3); // 5
Каждый вызов возвращает новую функцию, которая ждет следующего аргумента.
Карирование позволяет применять частичное применение — фиксировать некоторые аргументы заранее, чтобы создавать переиспользуемые, специализированные функции:
const multiply = a => b => a * b;
const double = multiply(2);
const triple = multiply(3);
double(5); // 10
triple(5); // 15
Карирование особенно полезно, когда:
map, filter или reduceПри каррировании функция с несколькими аргументами преобразуется в последовательность функций, где каждая функция принимает ровно один аргумент и возвращает новую функцию.
Новый — ещё не проверен сообществом
Вы