Functional JavaScript Learning Path Power Up Your JavaScript with Functional Programming

Program by composing pure functions, avoiding shared state, mutable data, and side-effects.

Core Coursework

(take these in order)

  • +

    Editor's Notes

    Get a friendly introduction to functional programming with JavaScript! You’ll learn what Functional Programming (FP) is and how it differs from other programming styles like object-oriented and imperative.
  • Functional JavaScript First Steps

    Learn core functional programming course and code everything with pure functions, learning recursion, higher-order functions, closures, and function composition.
    3 hours, 54 minutes CC
    Functional JavaScript First Steps
  • +

    Editor's Notes

    Forming a mental model around complex functional programming concepts will deepen your understanding and help you learn how to apply them to your code.
  • The Hard Parts of Functional JavaScript

    Go under the hood of powerful techniques like: Higher Order Functions, Function Composition, Pure Functions, and Immutability of State.
    4 hours, 54 minutes CC
    The Hard Parts of Functional JavaScript
  • +

    Editor's Notes

    Get hands-on practice applying the functional programming techniques you’ve learned throughout this learning path.
  • Functional-Light JavaScript, v3

    Improve your JavaScript by applying functional programming concepts like function purity, point-free, partial-application, currying, plus even more advanced concepts.
    10 hours, 1 minutes CC
    Functional-Light JavaScript, v3
  • +

    Editor's Notes

    Dive head first into the deep end of the functional programming pool. Brian provides expert-level functional programming techniques to a variety of code examples.
  • Hardcore Functional Programming in JavaScript, v2

    Learn functional programming concepts such as pure functions, currying, composition, functors, monads, and see functional concepts in action!
    3 hours, 44 minutes CC
    Hardcore Functional Programming in JavaScript, v2
  • +

    Editor's Notes

    You are now a functional programming expert. Use the optional courses below to learn additional patterns, apply these techniques to state management, and use the functional programming features of languages like Elm, Rust, and Go.

Elective Coursework