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.
What You Will Learn
• 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
Who This Book Is For
Novice JavaScript developers.
Author(s): Anto Aravinth, Srikanth Machiraju
Edition: 1
Publisher: Apress
Year: 2018
Language: English
Commentary: True PDF
Pages: 307
Tags: JavaScript; Functional Programming; Asynchronous Programming; Pipelines; Testing; Functors; EcmaScript; Higher Order Functions; Closures; Currying; Generators
Front Matter ....Pages i-xvii
Functional Programming in Simple Terms (Anto Aravinth, Srikanth Machiraju)....Pages 1-20
Fundamentals of JavaScript Functions (Anto Aravinth, Srikanth Machiraju)....Pages 21-40
Higher Order Functions (Anto Aravinth, Srikanth Machiraju)....Pages 41-62
Closures and Higher Order Functions (Anto Aravinth, Srikanth Machiraju)....Pages 63-80
Being Functional on Arrays (Anto Aravinth, Srikanth Machiraju)....Pages 81-108
Currying and Partial Application (Anto Aravinth, Srikanth Machiraju)....Pages 109-131
Composition and Pipelines (Anto Aravinth, Srikanth Machiraju)....Pages 133-156
Fun with Functors (Anto Aravinth, Srikanth Machiraju)....Pages 157-180
Monads in Depth (Anto Aravinth, Srikanth Machiraju)....Pages 181-203
Pause, Resume, and Async with Generators (Anto Aravinth, Srikanth Machiraju)....Pages 205-239
Building a React-Like Library (Anto Aravinth, Srikanth Machiraju)....Pages 241-268
Testing and Closing Thoughts (Anto Aravinth, Srikanth Machiraju)....Pages 269-297
Back Matter ....Pages 299-307