Beginning Functional JavaScript Uncover the Concepts of Functional Programming with EcmaScript 8 - Aravinth, Anto (Apress, 2018)
Understand functional programming concepts and the functional nature of the JavaScript language. Starting with an introduction to functional programming concepts, you will learn the key differences between imperative and functional programming. Diving straight into JavaScript functions, you will learn to write them with ES8. Followed by this you will move to higher order functions and learn how 'Function as Data' opens up a world of possibilities. You will then build higher order functions with closures. Arrays will then be introduced, followed by a set of APIs you can use with them. You will learn how to transform one function to another using currying and partial application. The compose function will be discussed in detail, followed by functors and monads. After having an in-depth look at applicative functors, you will learn the new features offered in ES8. The concluding chapters of Beginning Functional JavaScript will show you how to use a functional toolkit to build a small library that allows you to develop web applications, followed by tips on testing your functional code. You will: Discover functional programming concepts such as string padding and async functions Identify how functions are treated in JavaScript Create a functional library that mimics Underscore.JS Deep dive into ES8 functional features such as spread operators and generators Create a library that works like the react-redux pattern by following the functional paradigm.