Get an introduction to the evolving functional paradigms at the heart of many JavaScript frameworks and programs.
Overview
Syllabus
Introduction
- A functional approach to transform code
- What you should know
- Installing Node.js and npm
- Setting up the project
- Setting up the project: Hello World
- The goal of functional programming
- Declarative vs. imperative programming
- Immutability
- Separation of data and functions
- Object oriented to functional approach
- First-class functions
- Ensuring immutability: ESLint
- Ensuring immutability: Install ESLint
- Ensuring immutability: Finalize ESLint
- Arrow functions in ES6
- Functions as data
- Functions as data, continued
- Passing functions as arguments
- Returning functions
- Closure
- Implement private variable
- Higher-order functions
- JavaScript: Functional parts
- The spread operator
- Mapping
- Filtering
- Every/some
- Slicing
- Sorting
- Reducing
- Combining functions
- Challenge: Recreate the map function
- Solution: Recreate the map function
- Advanced functional concepts
- Currying and partial application
- Recursion
- Functions as objects
- Challenge: Recursion
- Solution: Recursion
- Challenge: Convert array
- Solution: Convert array
- Challenge: Anagrams
- Solution: Anagrams
- Challenge: Error messages
- Solution: Error messages
- Next steps
Taught by
Shaun Wassell