Каррирование
Каррирование, частичное применение, compose и pipe
О чём эта глава
Каррирование — техника из функционального программирования, которая превращает функцию с несколькими аргументами в цепочку функций с одним аргументом. Она лежит в основе compose, pipe и pointfree-стиля.
Разберём каррирование от определения до реальных кейсов: как устроено внутри, чем отличается от частичного применения, где применяется в React, Redux и Express, и когда от него лучше отказаться.
Содержание
- Что такое каррирование и зачем оно нужно
- Как работает каррирование изнутри
- Частичное применение и compose/pipe
- Каррирование в реальных проектах
- Антипаттерны и подводные камни
Что ты научишься делать
- Объяснять разницу между каррированием и частичным применением на собеседовании
- Писать универсальную функцию
curryс нуля - Строить пайплайны из маленьких функций с помощью
composeиpipe - Распознавать каррирование в коде Redux, React HOC и Express middleware
- Понимать, когда каррирование помогает, а когда мешает
Связанные темы
- Замыкания — каждый вызов каррированной функции создаёт замыкание, захватывая аргумент
- Движок V8 — как V8 оптимизирует вложенные функции и аллокацию контекстов
Задания
Перейти к заданиям — 3 easy, 2 medium, 2 hard