Function composition — это техника, при которой несколько функций объединяются для создания новой функции. Результат одной функции становится входом для следующей, позволяя строить сложные операции из простых, переиспользуемых частей.
Самая простая форма берёт две функции и связывает их вместе:
const compose = (f, g) => x => f(g(x));
Здесь g выполняется первой, и её результат передаётся напрямую в f.
const double = x => x * 2;
const addTen = x => x + 10;
const doubleThenAdd = compose(addTen, double);
doubleThenAdd(5); // (5 * 2) + 10 = 20
Для композиции более двух функций reduceRight применяет каждую функцию справа налево:
const composeMany = (...fns) => x => fns.reduceRight((acc, fn) => fn(acc), x);
При композиции функций выход одной функции служит входом для следующей функции, создавая конвейер преобразований.
Новый — ещё не проверен сообществом
Вы