Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Deep Dive into Functional JavaScript
Rating: 3.9 out of 5(63 ratings)
408 students

Deep Dive into Functional JavaScript

A practical guide to mastering functional programming in ES6 from the perspective of building real-world applications.
Last updated 5/2017
English

What you'll 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

Course content

6 sections22 lectures2h 47m total length
  • The Course Overview4:50

    This video gives an overview of the entire course.

  • Imperative and Declarative Programming by Example10:44

    Our objective is to get a feel of the differences between functional programming and other programming styles such as object oriented programming, via a demonstrated code example.

  • Principles of Writing Code in Functional Style7:31

    We learn the principles of writing code in functional programming in depth: avoiding side effects by writing pure functions, and using immutable data structure. A code example introduces techniques used in functional programming.

  • Benefits and Drawbacks of Functional Programming6:34

    We will summarize the advantages and disadvantages of functional programming, and we will also offset some of the disadvantages with some optimization techniques.

Requirements

  • Take this course if you understand the fundamentals of JavaScript, such as scopes and closures, and you are familiar with at least the ES5 syntax.

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.

Who this course is for:

  • This course is geared towards software developers who would like to improve their skills and expertise by sticking to the highest quality standards when it comes to writing code.