Learn to Write Functional Javascript

Learn to Write Functional Javascript

English | MP4 | AVC 1920×1080 | AAC 48KHz 2ch | 3h 48m | 1.10 GB

Learn the concepts required to be a functional programmer and to write functional web-apps using modern JavaScript

Functional programming has been around for decades, but it only overtook the JavaScript community in recent years. The impact is undeniable and yet with all the material available it still isn’t always easy to grok.

This course delivers the building blocks of the functional paradigm in a way that makes sense to JavaScript developers. Animated visualizations help explain difficult concepts such as higher-order functions, lenses and persistent data, partial application and currying and then write code so you understand concepts before trying to apply the knowledge them.

Many functional programming videos leave students feeling as if they just learned something that can’t quite be useful, but in Foundations of Functional Programming you’ll build stateless UI components and implement your own higher-order functions that integrate them with JSX and virtual-dom using no frameworks, just functional programming and modern JavaScript.

What You Will Learn

  • Understand pure functions and how to refactor impure functions
  • Learn why grouping pure functions can simplify an apps mental model
  • See how impurities break that modal and how to isolate them
  • Create reusable functions by writing higher-order functions
  • Write more declarative and expressive code without loops
  • Master map, filter and reduce, three very powerful functional utilities
  • Create your own higher-order functions to replace native JS Array methods
  • Learn about partial application and create your own curry implementation
  • Learn about immutability, persistent data structures and their pros and cons
  • Work with nested immutable data with lenses using Ramda
  • Write pure functions to model the DOM and then drop JSX on top of it
  • Replace our DOM Rendering function with virtual-dom
  • Build JSX & Virtual-DOM into functional ES2017 apps without using React
  • Build a modern single-page web application
  • Understand the workflow of an Aurelia application
  • Design reusable web components, which can be shared and integrated into various frameworks and libraries
  • Write clean, modular, and testable code that will be easy to maintain and evolve
  • Use all the latest–and even future–web standards, so the application gathers minimal technical debt
Table of Contents

Understanding Foundations of Functional Programming
The Course Overview
The Unbreakable Function
Thinking of Functions in Terms of Their Return Values
How to Identify and Encapsulate Impurities within Our Programs

Abstracting Language Constructs with Higher-Order Functions
Promoting Reusability with Higher-Order Functions
Replacing Loops with Higher-Order Functions
A Better Way to Map and Filter
Reasoning with Reduce
Rendering UI Components with Higher-Order Functions

Partial Application and Currying
What Partial Application and Curry Mean?
Improving Higher-Order Functions with Partial Application
Writing a Utility to Curry Functions
Combining Map, Filter, and Reduce with Curried Functions

Working with Data and Stateless Components
Understanding Mutable and Immutable Data
Simplifying Immutability Using Lenses
Rendering Our Data into the DOM
Using JSX and Virtual-DOM for Readability and Performance