Functional Programming in JavaScript: A Practical Guide

Functional Programming in JavaScript: A Practical Guide
Functional Programming in JavaScript: A Practical Guide
English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 6.5 Hours | 2.97 GB

Finally, understand the concepts of functional programming.

Are you wanting to learn how to apply functional programming to JavaScript? Have the concepts been a bit difficult to grasp? Are you not quite sure how functional programming differs from other approaches in JavaScript? If so, this course is for you!

The functional programming paradigm was difficult, at first, for me to grasp and implement. Therefore, I wanted to create a course that would help others make the leap and begin applying functional programming techniques into their own code. In this course you will learn techniques that you can apply today. But remember, you don’t need to implement everything immediately. Implement those things that make sense and grow into it slowly.

In this course I have taken the approach of dissecting a definition of functional programming and using that definition as the structure of the course. We will break it down into pieces. Focus on those pieces and the techniques you can use right away. Each new concept will build on the previous concepts. And in the end you will see all the concepts come together.

If you learn by doing, this course gives you plenty of chances to work on an exercise and then sit back and watch as I go through the exercise. Jump in today and begin learning functional programming concepts in JavaScript!

What you’ll learn

  • Functional programming techniques you can apply right now.
  • Concepts that define a functional programming approach.
  • The difference between an OOP approach and a functional approach in JavaScript.
  • JavaScript libraries such a Lodash and Ramda that support a functional approach.
  • Techniques such as currying, cloning and composition done using vanilla JavaScript.
  • JavaScript concepts critical to understanding functional programming.
  • To create pure functions that avoid mutations and side effects.
  • Declarative programming.
Table of Contents

Course Introduction
1 Introduction
2 Making the Most of this Course

Introduction to Functional Programming
3 Introducing Functional Programming

Side Effects and Pure Functions
4 Avoiding Side Effects and Using Pure Functions
5 Exercise 1 Start
6 Exercise 1 Finish
7 Exercise 1 Follow Up Other Possible Solutions and the Problems

Avoiding Shared State and Mutations
8 Avoiding Shared State
9 Exercise 4 Finish
10 Exercise 4 Follow Up
11 Avoiding Mutations
12 Cloning Objects
13 Exercise 2 Start
14 Exercise 2 Finish
15 Using Reduce, Map and Filter
16 Exercise 3 Start
17 Exercise 3 Finish
18 Exercise 4 Start

Function Composition
19 JavaScript Concepts Review First Class and Higher Order Functions, Closure
20 JavaScript Concepts for Understanding Currying
21 Deep Dive into Currying
22 Dissecting the Curry Function
23 Exercise 7 Start
24 Exercise 7 Finish
25 Function Composition Part 1
26 Arrow Functions
27 Exercise 5 Start
28 Exercise 5 Finish
29 Function Composition Part 2
30 Exercise 6 Start
31 Exercise 6 Finish
32 Understanding Arity

Understanding Declarative Programming
33 Imperative versus Declarative Programming
34 Exercise on Declarative Programming Start
35 Exercise on Declarative Programming Finish

Functional Programming Example Comparing OOP to Functional
36 Functional Programming Example
37 Example Follow Up

38 Using the Lodash JavaScript Library
39 Exercise 8 Start
40 Exercise 8 Finish

41 Using the Ramda JavaScript Library
42 Exercise 9 Start
43 Exercise 9 Finish

Other Functional Techniques
44 Understanding Recursion

45 Congratulations