Functional programming in JS and why it's the killer new [but actually really old] paradigm

Functional programming is an imperative programming style where we use small pure functions to compose to build out complex programs while avoiding shared state. Functional programming tends to be easier to test and be more predictable. > Functional programming is a programming paradigm, meaning that it is a way of thinking about software construction based on some fundamental, defining principles (listed above). Other examples of programming paradigms include object oriented programming and procedural programming. - Eric Elliot (Master the JavaScript Interview: What is Functional Programming?)