Learning Functional Programming with JavaScript ES6+ (2019)
2h 45mIntermediate2019-06-11
Authors

Shaun Wassell
Full-Stack Software Developer
Course details
Want to write more robust, maintainable code? In this course, discover how this can be accomplished with functional programming, and learn about the functional concepts at the heart of many JavaScript frameworks and programs. Shaun Wassell begins by explaining what functional programming is and how it compares to object-oriented programming. Shaun then covers the basics of working with first-class functions in JavaScript ES6+, discussing concepts such as higher-order functions and closure. He also shows how functional programming makes working with data structures more straightforward; dives into advanced concepts, including partial application and recursion; and provides challenges that can help you test your understanding of key functional programming concepts.
Learning objectives
The goal of functional programming
Declarative vs. imperative programming
Ensuring immutability
Arrow functions in ES6
Passing functions as arguments
Mapping, filtering, slicing, sorting, and reducing
Advanced functional concepts, including recursion
Learning objectives
The goal of functional programming
Declarative vs. imperative programming
Ensuring immutability
Arrow functions in ES6
Passing functions as arguments
Mapping, filtering, slicing, sorting, and reducing
Advanced functional concepts, including recursion
Skills covered
JavaScriptProgramming FoundationsOracleLearningProgramming LanguagesSoftware Development
Concepts
0. Introduction
- 01 - A functional approach to transform code
- 02 - What you should know
- 03 - Installing Node.js and npm
- 04 - Setting up the project
- 05 - Setting up the project - Hello World
1. Introductory Functional Concepts
- 06 - The goal of functional programming
- 07 - Declarative vs. imperative programming
- 08 - Immutability
- 09 - Separation of data and functions
- 10 - Object oriented to functional approach
- 11 - First-class functions
- 12 - Ensuring immutability - ESLint
- 13 - Ensuring immutability - Install ESLint
- 14 - Ensuring immutability - Finalize ESLint
2. First-Class Functions
- 15 - Arrow functions in ES6
- 16 - Functions as data
- 17 - Functions as data, continued
- 18 - Passing functions as arguments
- 19 - Returning functions
- 20 - Closure
- 21 - Implement private variable
- 22 - Higher-order functions
3. JavaScript - The Functional Parts
- 23 - JavaScript - Functional parts
- 24 - The spread operator
- 25 - Mapping
- 26 - Filtering
- 27 - Every some
- 28 - Slicing
- 29 - Sorting
- 30 - Reducing
- 31 - Combining functions
- 32 - Challenge - Recreate the map function
- 33 - Solution - Recreate the map function
4. Advanced Functional Concepts
- 34 - Advanced functional concepts
- 35 - Currying and partial application
- 36 - Recursion
- 37 - Functions as objects
5. Code Conversion Challenges
- 38 - Challenge - Convert array
- 39 - Solution - Convert array
- 40 - Challenge - Anagrams
- 41 - Solution - Anagrams
- 42 - Challenge - Error messages
- 43 - Solution - Error messages
Conclusion
- 44 - Next steps
Related courses
- JavaScript: Test-Driven Development (ES6)
- Learning Functional Programming with JavaScript ES6+
- Learning ECMAScript 6+ (ES6+)
- Learning Functional Programming with JavaScript (ES5)
- Learning Full-Stack JavaScript Development: MongoDB, Node, and React
- ReasonML: First Look
- Framer for UX Design
- Computer Science Principles Lab: JavaScript