Learning Book

Каррирование

Каррирование, частичное применение, compose и pipe

О чём эта глава

Каррирование — техника из функционального программирования, которая превращает функцию с несколькими аргументами в цепочку функций с одним аргументом. Она лежит в основе compose, pipe и pointfree-стиля.

Разберём каррирование от определения до реальных кейсов: как устроено внутри, чем отличается от частичного применения, где применяется в React, Redux и Express, и когда от него лучше отказаться.

Содержание

  1. Что такое каррирование и зачем оно нужно
  2. Как работает каррирование изнутри
  3. Частичное применение и compose/pipe
  4. Каррирование в реальных проектах
  5. Антипаттерны и подводные камни

Что ты научишься делать

  • Объяснять разницу между каррированием и частичным применением на собеседовании
  • Писать универсальную функцию curry с нуля
  • Строить пайплайны из маленьких функций с помощью compose и pipe
  • Распознавать каррирование в коде Redux, React HOC и Express middleware
  • Понимать, когда каррирование помогает, а когда мешает

Связанные темы

  • Замыкания — каждый вызов каррированной функции создаёт замыкание, захватывая аргумент
  • Движок V8 — как V8 оптимизирует вложенные функции и аллокацию контекстов

Задания

Перейти к заданиям — 3 easy, 2 medium, 2 hard

Песочница

Открыть песочницу