FP in JS
Imperative VS Declarative
Imperative: tell the program how to do stuff, how the control flow goes and how the state changes. Declarative: tell the program what the logic is, describe the problem.
Declarative programs, specifically functional ones, raise the level of abstraction by using a minimally structured flow made up of independent blackbox operations that connect in a simple topology. These connected operations are nothing more than higher-order functions that move state from one operation to the next.