Mastering JavaScript Functional Programming - Second Edition

By Federico Kereki
    What do you get with a Packt Subscription?

  • Instant access to this title and 7,500+ eBooks & Videos
  • Constantly updated with 100+ new titles each month
  • Breadth and depth in over 1,000+ technologies
  1. Free Chapter
    Technical Requirements
About this book

Functional programming is a paradigm for developing software with better performance. It helps you write concise and testable code. To help you take your programming skills to the next level, this comprehensive book will assist you in harnessing the capabilities of functional programming with JavaScript and writing highly maintainable and testable web and server apps using functional JavaScript.

This second edition is updated and improved to cover features such as transducers, lenses, prisms and various other concepts to help you write efficient programs. By focusing on functional programming, you’ll not only start to write but also to test pure functions, and reduce side effects. The book also specifically allows you to discover techniques for simplifying code and applying recursion for loopless coding. Gradually, you’ll understand how to achieve immutability, implement design patterns, and work with data types for your application, before going on to learn functional reactive programming to handle complex events in your app. Finally, the book will take you through the design patterns that are relevant to functional programming.

By the end of this book, you’ll have developed your JavaScript skills and have gained knowledge of the essential functional programming techniques to program effectively.

Publication date:
January 2020


Technical Requirements

To develop and test the code in this book, I used several versions of commonly available software, including browsers and Node.js, as well as some other packages.

For this second edition, my main machine runs the Tumbleweed rolling release of OpenSUSE Linux, from, currently including kernel 5.3.5. (The rolling term implies that the software is updated on a continuous basis, to keep getting the latest versions of all packages.) I've also tested portions of the code of this book on different Windows 7 and Windows 10 machines. 

As to browsers, I usually work with Chrome, from, and at the current time, I'm up to version 78. I also use Firefox, from, and I got version 72 in my machine. I have also run code using the online JSFiddle environment, at

On the server side, I use Node.js, from, currently at version 13.6. 

For transpilation, I used Babel, from the current version of the babel-cli package is 7.7.7.

For testing, I went with Jasmine, from, and the latest version in my machine is 3.5.0. 

Finally, for code formatting, I used Prettier, from You can either install it locally, or run it online at; the version I have is 1.19.1.

The JavaScript world is quite dynamic, and it's a safe bet that by the time you get to read this book, all the software listed above will have been updated several times. Every single piece of software I used when I wrote the 1st edition of this book, received several updates over time. However, given the standardization of JavaScript, and the high importance of back compatibility, you shouldn't have problems with other versions.

About the Author
  • Federico Kereki

    Federico Kereki is a Uruguayan systems engineer, with a master's degree in education, and over 30 years' experience as a consultant, system developer, university professor, and writer. He is currently a subject matter expert at Globant, and he has taught CS courses at Universidad de la República, Universidad ORT Uruguay, and Universidad de la Empresa. He has written for the Linux Journal and the LinuxPro Magazine in the USA, Linux+ and Mundo Linux in Europe, and websites such as Linux [dot] com and IBM DeveloperWorks. He has also written booklets on computer security, and two books—Essential GWT, and Mastering JavaScript Functional Programming.

    Browse publications by this author
Latest Reviews (5 reviews total)
Cursos muito bons, atualizados, profissionais feras.
Es seguro el proceso de compra
Excellent book. Thoroughly enjoyable and lots to learn. Extremely practical
Mastering JavaScript Functional Programming - Second Edition
Unlock this book and the full library FREE for 7 days
Start now