В языке JavaScript, как и, к примеру, в Python, функции являются объектами. Эта немаловажное обстоятельство позволяет программистам писать на JS чистый (или не очень, раз уж монады не включены в язык :) ) функциональный код. Многие из нас и поныне забывают о такой особенности JS, но факт остаётся фактом: код на JavaScript может быть функциональным — и, что самое прекрасное, он был придуман таковым изначально, с начала времён.
Предназначение этих слайдов — открыть вам мощь функционального JS. Здесь нет разбора тривиальных map / filter, в пользу каррируемых функций, чейнинга и композиции функций, в которых кода-то — несколько строк. Блюдо приправлено функциональными трюками. Ничего из того, что появится в новых версиях или недавно появилось: лишь старый добрый JavaScript.
(Вводная информация, конечно же, тоже присутствует)
Итак, поехали:
Ссылки
Ссылки на примеры:
-
Каррирование функций:
- codepen.io/shamansir/pen/HskmE (пример с парсером)
- codepen.io/shamansir/pen/kBzJe
- Частичные применения:
- Цепочки функций:
- Композиция функций:
Lyfe.js: bitbucket.org/balpha/lyfe
Статья о lyfe.js: Introducing Lyfe: yield in JavaScript