Перейти к основному содержимому
Об авторе
Проекты
Знания
Знания/JavaScript/currying

Что такое каррирование (`currying`) и как оно работает?

УглублённыйФункции

Каррирование — преобразование функции с несколькими аргументами в цепочку функций, каждая из которых принимает один аргумент.

// Обычная функция
const add = (a, b, c) => a + b + c;
// Каррированная
const curriedAdd = a => b => c => a + b + c;
curriedAdd(1)(2)(3); // 6

Универсальная функция каррирования:

function curry(fn) {
    return function curried(...args) {
        if (args.length >= fn.length) return fn(...args);
        return (...moreArgs) => curried(...args, ...moreArgs);
    };
}
  • Главная
  • Об авторе
  • Проекты
  • Знания
Логотип nKolmykov