Summary
Functional Programming is a programming paradigm that focuses on expressions and declarations to design an application and build a code base. Functional Programming is one of the hot new programming styles and is considered the best style for programming in JavaScript. Functional Programming can help our JavaScript be more concise, predictable, and testable. Functional Programming is built on seven key concepts: declarative functions, pure functions, higher order functions, shared state, immutability, side effects, and function composition.
Declarative functions focus on what the solution or goal is, instead of how we get the solution. Declarative functions are designed to abstract away a lot of the imperative approach to code. They help developers code more in keeping with the mental model of the developer, instead of the operational model of the machine running the code.
Pure functions are intended to make our code easier to test, easier to debug, and more flexible and reusable....