Skip to content Major Concepts
- Functions are first-class citizens.
- Immutability
- Pure Functions
- Referential Transparency
- No Side-Effects
- Data Transformation
- Higher-Order Functions
- Recursion
- Composition
- Currying
- Map
- Filter
- Reduce
- Set
Resources
- Eric Elliott. Composing Software: The Book. JavaScript Scene, 2017-2019.
- 1. An Introduction. 2017. – composing functions, point-free style, composing objects, class inheritance, tight coupling, fragile base class, inflexible hierarchy, duplication by necessity, gorilla/banana problem, object concatenation, mixin composition.
- 2. The Dao of Immutability. 2015. – immutability, separation, composition, conservation, streams.
- 3. The Rise and Fall and Rise of Functional Programming. 2017. – lambda calculus, currying, Lisp, Smalltalk.
- 4. Why Learn Functional Programming in JavaScript? 2017. – first class functions, anonymous functions, lambda syntax, closures, immutability, tail call optimization, Scheme, constructor functions, new keyword, classes, WASM.
- 5. What is a Pure Function? 2016. – functions, arguments, return value, mapping, procedures, pure functions, KISS, shared state, race conditions, determinism, side effects, immutability, unit tests.
- 6. What is Functional Programming? 2017. – pure functions, referential transparency, function composition, shared state, immutability, trie data structures, side effects, higher order functions, declarative, imperative.
- 7. A Functional Programmer’s Introduction to JavaScript. 2017. – expressions, values, var, let, const, types, strings, numbers, arrays, objects, shortcut for assigning existing variables to object property keys, spread operator,
Object.assign()
, destructuring, comparison, ternaries, functions, signatures, function signature notation, default parameter values, identity function, caveat of function’s .length
property, named arguments, rest, currying, anonymous functions, lodash, function composition, methods, method chaining, predicate
- Guido Schmitz. Higher Order Functions: How to Use Filter, Map and Reduce for More Maintainable Code. freecodecamp, 2017.
- Jack Misteli. Mutable Immutable JavaScript. alligator.io, 4/2020.
- Functional Light JS Book. 3/2020.
- Mostly Adequate Guide to Functional Programming in JavaScript. 4/2020.
- Eve Porcello, Alex Banks. Learning React, 2nd Edition. O’Reilly Media. Chapter 3. Functional Programming with JavaScript.
- Matt Banz. An Introduction to Functional Programming in JavaScript. opensource.com, 6/2017.