Functional JavaScript

  • 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