Каррирування
Каррирування (currying) - це процес перетворення функції, яка приймає кілька аргументів, у послідовність функцій, кожна з яких приймає тільки один аргумент.
Приклад:
Звичайна функція:
javascript
function sum(a, b) {
return a + b;
}
sum(2, 3); // 5Після каррирування:
javascript
function curriedSum(a) {
return function (b) {
return a + b;
};
}
curriedSum(2)(3); // 5Як це працює:
curriedSum(2)повертає нову функцію, яка "пам'ятає" значенняa = 2.- Потім ця функція очікує другий аргумент
b. - Коли ми викликаємо її з
3, повертається результат2 + 3.
Навіщо потрібне каррирування:
- Повторне використання частково застосованих функцій
javascript
const add10 = curriedSum(10);
add10(5); // 15
add10(7); // 17- Спрощує композицію функцій - зручно у функціональному програмуванні.
- Підвищує читабельність і гнучкість коду, особливо в бібліотеках на кшталт Lodash або Ramda.
Коротко:
Каррирування - це перетворення функції
f(a, b, c)наf(a)(b)(c), щоб можна було викликати її частинами і повторно використовувати часткові виклики.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.