Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Каррирування». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Каррирування (currying)** - це процес перетворення функції, яка приймає кілька аргументів, у послідовність функцій, кожна з яких приймає тільки один аргумент. **Ключове:** каррирування перетворює `f(a, b, c)` на `f(a)(b)(c)`, щоб можна було викликати функцію частинами і повторно використовувати часткові виклики.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Каррирування (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`. --- ### Навіщо потрібне каррирування: 1. **Повторне використання частково застосованих функцій** ```javascript const add10 = curriedSum(10); add10(5); // 15 add10(7); // 17 ``` 2. **Спрощує композицію функцій** - зручно у функціональному програмуванні. 3. **Підвищує читабельність і гнучкість коду**, особливо в бібліотеках на кшталт Lodash або Ramda. --- ### Коротко: > Каррирування - це перетворення функції `f(a, b, c)` на `f(a)(b)(c)`, > щоб можна було викликати її частинами і повторно використовувати часткові виклики.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.