Let's get started with a short review of functions in JavaScript and their relationship to FP concepts. We can start something that we mainly mentioned in the Functions as first-class objects section in Chapter 1, Becoming Functional - Several Questions, and in a couple of places in Chapter 2, Thinking Functionally - A First Example, about functions as first-class objects, and then go on to several considerations about their usage in actual coding.
In particular, we'll be looking at the following:
- Some basic and very important concepts about lambda calculus, which is the theoretical basis for FP
- Arrow functions, which are the most direct translation of lambda calculus into JavaScript
- Using functions as first-class objects, a key concept in FP