Deep Dive into Functional JavaScript

A practical guide to mastering functional programming in ES6 from the perspective of building real-world applications.

3.55 (63 reviews)
Udemy
platform
English
language
Web Development
category
404
students
3 hours
content
May 2017
last update
$34.99
regular price

What you will learn

Discover the principles of functional programming

Learn the benefits and drawbacks of functional programming compared to other styles

Learn the language constructs of ES6 that are used for functional programming

Write elegant code with chaining and context binding

Understand function composition and function sequencing in depth

Learn about higher order functions with a special emphasis on map, reduce, and filter

Translate SQL queries into chained map and reduce calls

Learn currying and partial application in practice

Learn recursion, tail-call optimization, and the role of accumulator variables

Experiment with optimization techniques combating the performance drawbacks of functional programming

Map out a plan for how to continue after the course

Description

In this course, you will have an in-depth overview and the tools in your utility belt to write maintainable code in JavaScript.

We will stick to the latest version of JavaScript in this course, ES2017. You don't have to know ES2017 to benefit from the course, as we will introduce the language constructs that we use during it.

You will experience the benefits of functional programming even if your code is not purely functional. In this course, you will learn the building blocks that act as a utility belt in your arsenal, enabling you to write code that's easy to understand, extend, test, and debug. You will get hands-on practice on how to use currying, partial evaluation, map, reduce, filter, recursion, and other functional programming concepts in ES6.

About the Author

Zsolt Nagy is a web development team lead, mentor, and software engineer living in Berlin, Germany. As a software engineer, Zsolt continuously challenges himself to stick to the highest possible standards when improving his own knowledge. The best way of learning is to create a meaningful product on the way. Until you reach this state, the second best way of learning is to share with others what you learned and how you structure your thoughts.

Zsolt is an author of the book and video course ES6 in Practice, introducing you to all meaningful features of ES6. He is also an author of the book The Developer’s Edge – How to Double Your Career Speed with Soft-Skills.

Content

Introduction to Functional Programming

The Course Overview
Imperative and Declarative Programming by Example
Principles of Writing Code in Functional Style
Benefits and Drawbacks of Functional Programming

Functional Programming in ES6

Getting Started with ES6
Deep and Shallow Cloning in JavaScript
Context Binding by Example
Chaining and Function Composition

Higher Order Functions in JavaScript

What are Higher Order Functions?
Handling JavaScript Arrays with Higher Order Functions
Introducing Map, Reduce, and Filter
Joins with Map-Reduce
Filtering Examples
Converting an Array of Nodes to a Tree

Currying and Partial Evaluation

Definitions
Deep Dive into Currying
Partial Application
Rendering Templates Using Partial Application

Recursion, Tail Recursion, and Accumulator Variables

Recursive and Iterative Solutions in JavaScript
Optimization Techniques with Recursion

Summary and Outlook

Your Functional Programming Utility Belt
Your Learning Path

Screenshots

Deep Dive into Functional JavaScript - Screenshot_01Deep Dive into Functional JavaScript - Screenshot_02Deep Dive into Functional JavaScript - Screenshot_03Deep Dive into Functional JavaScript - Screenshot_04

Reviews

Jesper
August 2, 2020
Zsolt Nagy is absolutely an expert. Functional javascript can be absolutely mind-boggling and I did not understand everything... will definitely have to rewatch this!
Enrique
December 12, 2017
I think the examples fly by and you got little time to understand them, I was fine the first 3 sections and section 4 for the most part but once we started looking into partial and curry implementations in ES6 I had to constantly pause rewind and look into the examples again. Breaking the code in multiple lines and indenting differently would definitely help, I most of the time have problems making out what is suppose to be going on because of the heavy use of ternary operators. Using meaningful variable names would definitily help as well as it's a lot easier to understand what's going on when revisiting the examples, as of this comment, most variables are named things like f, a, b, g, acc, args. I know context is king but this makes it so you have to start the whole section or at least a big portion of it to make out what the example is doing. The instructor is pretty good though, my rating is based on how easy to follow I am finding the lections so far.
Abhay
November 19, 2017
Still on lesson 2 ... so early to comment... but looks good. The instructor has a good speed and explains clearly the thought process. So far excited.
Saad
October 11, 2017
Quality stuff! I just wish the lecturer would have prepared some exercises for us to solve... Nonetheless, keep up the good work!
Clément
August 12, 2017
Great content overall BUT, everything goes way to fast: - speech is too fast - too many concepts in few seconds without deep explanation - sometimes it seems content has been skipped (i.e. execution of examples) End up re-watching the same video again, and again, and again to grasp its content.

Charts

Price

Deep Dive into Functional JavaScript - Price chart

Rating

Deep Dive into Functional JavaScript - Ratings chart

Enrollment distribution

Deep Dive into Functional JavaScript - Distribution chart
1231480
udemy ID
5/27/2017
course created date
12/26/2019
course indexed date
Bot
course submited by