Customers who viewed this item also viewed
Buy new:
-40% $26.86$26.86
FREE delivery January 13 - 25 on orders shipped by Amazon over $35
Advertisement
Ships from: Amazon.com Sold by: Amazon.com
Save with Used - Very Good
$8.54$8.54
FREE delivery December 31 - January 5
Advertisement
Ships from: ThriftBooks-Phoenix Sold by: ThriftBooks-Phoenix
Sorry, there was a problem.
There was an error retrieving your Wish Lists. Please try again.Sorry, there was a problem.
List unavailable.
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Functional Programming in JavaScript: How to improve your JavaScript programs using functional techniques First Edition
Purchase options and add-ons
Functional Programming in JavaScript teaches JavaScript developers functional techniques that will improve extensibility, modularity, reusability, testability, and performance. Through concrete examples and jargon-free explanations, this book teaches you how to apply functional programming to real-life development tasks
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
In complex web applications, the low-level details of your JavaScript code can obscure the workings of the system as a whole. As a coding style, functional programming (FP) promotes loosely coupled relationships among the components of your application, making the big picture easier to design, communicate, and maintain.
About the Book
Functional Programming in JavaScript teaches you techniques to improve your web applications - their extensibility, modularity, reusability, and testability, as well as their performance. This easy-to-read book uses concrete examples and clear explanations to show you how to use functional programming in real life. If you're new to functional programming, you'll appreciate this guide's many insightful comparisons to imperative or object-oriented programming that help you understand functional design. By the end, you'll think about application design in a fresh new way, and you may even grow to appreciate monads!
What's Inside
- High-value FP techniques for real-world uses
- Using FP where it makes the most sense
- Separating the logic of your system from implementation details
- FP-style error handling, testing, and debugging
- All code samples use JavaScript ES6 (ES 2015)
About the Reader
Written for developers with a solid grasp of JavaScript fundamentals and web application design.
About the Author
Luis Atencio is a software engineer and architect building enterprise applications in Java, PHP, and JavaScript.
Table of Contents
PART 1 THINK FUNCTIONALLY
- Becoming functional
- Higher-order JavaScript
PART 2 GET FUNCTIONAL
- Few data structures, many operations
- Toward modular, reusable code
- Design patterns against complexity
PART 3 ENHANCING YOUR FUNCTIONAL SKILLS
- Bulletproofing your code
- Functional optimizations
- Managing asynchronous events and data
- ISBN-101617292826
- ISBN-13978-1617292828
- EditionFirst Edition
- PublisherManning
- Publication dateJune 18, 2016
- LanguageEnglish
- Dimensions7.38 x 0.6 x 9.25 inches
- Print length272 pages
Deals on related products
Customers also bought or read
- JavaScript: The Definitive Guide: Master the World's Most-Used Programming Language#1 Best SellerJavaScript Programming
Paperback$34.30$34.30Delivery Sun, Dec 28 - Programming TypeScript: Making Your JavaScript Applications Scale
Paperback$29.43$29.43Delivery Jan 9 - 19 - Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
Paperback$50.68$50.68FREE delivery Sun, Dec 28 - Functional Programming in C++: How to improve your C++ programs using functional techniques
Paperback$49.99$49.99FREE delivery Tue, Dec 30 - Tour of C++, A (C++ In-Depth Series)#1 Best SellerC++ Programming Language
Paperback$33.08$33.08Delivery Sun, Dec 28 - Effective Rust: 35 Specific Ways to Improve Your Rust Code
Paperback$42.48$42.48FREE delivery Dec 31, 2025 - Jan 6, 2026 - Writing a C Compiler: Build a Real Programming Language from Scratch
Paperback$42.43$42.43FREE delivery Sun, Dec 28
From the Publisher
Get Programming with JavaScript
|
Secrets of the JavaScript Ninja 2nd Ed.
|
Functional Programming in JavaScript
|
|
|---|---|---|---|
|
Add to Cart
|
Add to Cart
|
Add to Cart
|
|
| Customer Reviews |
4.2 out of 5 stars 25
|
4.5 out of 5 stars 117
|
4.2 out of 5 stars 43
|
| Price | $9.91$9.91 | $44.99$44.99 | $26.86$26.86 |
| Subtitle: | N/A | N/A | How to improve your JavaScript programs using functional techniques |
| User Experience Level: | Beginner | Intermediate | Advanced |
| For Readers who want to: | Learn how to program without any previous experience, using JavaScript as a first language | Master key JavaScript concepts such as functions, closures, objects, prototypes, and promises and learn best practice techniques such as testing and cross-browser development | Learn through concrete examples and jargon-free explanations how to apply functional programming to real-life development tasks |
| Tools covered: | no data | ES6 (ECMAScript 2015) and ES7 (ECMAScipt 2016) | no data |
Editorial Reviews
About the Author
Product details
- Publisher : Manning
- Publication date : June 18, 2016
- Edition : First Edition
- Language : English
- Print length : 272 pages
- ISBN-10 : 1617292826
- ISBN-13 : 978-1617292828
- Item Weight : 7.4 ounces
- Dimensions : 7.38 x 0.6 x 9.25 inches
- Best Sellers Rank: #472,004 in Books (See Top 100 in Books)
- #27 in Functional Software Programming
- #64 in JavaScript Programming (Books)
- #96 in Object-Oriented Design
- Customer Reviews:
About the author

Luis Atencio (@luijar) is a Principal Cloud Engineer for Citrix Systems in Ft. Lauderdale, FL. He has a B.S. and an M.S. in Computer Science and now works full-time developing and architecting cloud web applications using JavaScript and Java. Luis is also very involved in the community and has presented on several occasions at conferences and local meet-ups. When he is not coding, Luis writes a developer blog at https://medium.com/@luijar focused on software engineering as well as several magazine articles for PHPArch and DZone. Luis is also the author of Functional Programming in JavaScript (Manning 2016), co-author for RxJS in Action (Manning 2017), and currently working on his third book The Joy Of JavaScript (Manning 2020).
Products related to this item
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonTop reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on January 5, 2017Format: PaperbackVerified PurchaseA really nice overview of some concepts related to functional programming in JavaScript. I had already begun reading up on functional programming so I was familiar with some of the concepts but the examples and explanations helped solidify and clarify some areas for me, particularly around error handling and branching.
- Reviewed in the United States on October 25, 2016Format: PaperbackVerified PurchaseGreat book, though a little dry. I can't fault the author, really, as this is the most difficult type of JS to learn. Just make sure you understand the way JavaScript works before you take this dive.
- Reviewed in the United States on February 8, 2018Format: PaperbackVerified PurchaseThis is the book which opened my eyes to functional concepts and makes javascript palatable, dare I say fun to write. Would buy again, would recommend to those who know javascript but do not know the existing and new functional components. Thanks Luis Atencio!
- Reviewed in the United States on August 24, 2017Format: PaperbackVerified PurchaseGreat book on the subject & comes with a free E-book (PDF, Kindle..etc) version.
- Reviewed in the United States on March 28, 2018Format: PaperbackVerified PurchaseA coming of age for javascript, functional programming taught by example along with ramda and rxjs.
- Reviewed in the United States on August 10, 2016Format: PaperbackLuis Atencio does an excellent job of explaining how functional programming can be done in javascript as well as providing a compelling case for why you may want to adapt this style. He compares and contrasts with both imperative style and object-orientated code, and while he makes a case that FP is superior, he does so without coming across as insulting to those that like the imperative and OO styles (whereas many authors can feel like they consider those that follow other styles at best naive or even worse).
The text covers a wide range of topics in functional programming including side-effect free functions, first-class functions and higher-order functions, partial application, currying, and Monads including functional techniques to avoid nulls and error-checking. He discusses the ways in which functional programs can be more declarative and easier to reason about as well as how functional programming can improve unit and coverage testing and asynchronous code.
Atencio's writing style is clear. He presents many examples almost all of which are clear and highly focused on the point under discussion. Many examples even have imperative versions presented for comparison of the two different styles.
The text does have a much higher reliance on external libraries than I would like to see, especially where there are native versions of the functions being discussed (for example the map, filter, and reduce array operations). However, many features discussed are not available in native javascript, and in many cases, he does show sample implementations of these features natively (although he does still encourage the library use).
The text suffers from a number of typos and errors. These range from nearly harmless (saying orientated-orientated instead of object-orientated) to more severe errors in sample code (using the variable index instead of idx or defining a function as (p1,p2)=>p1.getAge() p2.getAge() when the difference of the two ages is desired). While there are many examples of these, I haven't seen any that are not cleared up by the surrounding text (discussing the return values of the age function) or that are too difficult to reason out (it is obvious that the idx variable is desired in the other example).
There is a heavy reliance on the additions to the javascript language made by ES6. While someone stuck working with ES5 will be able to get something useful out of the text, not all the examples will run without ES6.
Overall, I would recommend this book to anybody interested in using functional techniques in the javascript language. In fact, someone looking to learn about functional programming in general will get something out of this book.
(This review is based on an electronic copy of the book)
Disclaimer: I was provided with a free electronic copy of the book to review.
- Reviewed in the United States on July 29, 2017Format: PaperbackVerified PurchaseTo preface, I have been programming for around 15 years, and writing JavaScript for a bit over 10 years.
I loved Functional Programming in Scala (also published by Manning), so when I saw Functional Programming in JavaScript I snapped it up immediately. I am severely disappointed to see that Manning really dropped the ball on this one.
In no particular order:
- The code in the book is full of errors: typos, missing symbols, unhandled nulls, and so on. The author mixes syntaxes seemingly by accident (function vs. arrow, let vs. const vs. var, etc.).
- Atencio's writing is imprecise at best, and gives the impression that he has a poor understanding of functional programming at worst. For example (from page 60): "Instead of creating new data structure classes to meet specific needs, [functional programming] uses common ones like arrays and applies a number of coarse-grained, higher-order operations that are agnostic to the underlying representation of the data"; he seems to be mixing his understanding of Algebraic Data Types with JavaScript's built-in data structures, and in the process totally ignoring how data structures are actually implemented in functional languages (for example, see Okasaki's excellent Purely Functional Data Structures).
- Concepts are introduced and then mixed willy nilly: lenses are neither derived nor explained, Lodash and Ramda functions are mixed at will leading to totally unreadable code, imperative and functional and OO code is used interchangeably, and so on.
- The code is littered with incomplete and unexplained references to and code from other languages (Java, SQL, Haskell, Scala, F#, etc.), which adds nothing to the author's explanations, and seems to tell the reader "Hey look! I Googled how to write a function in Haskell! That's what functional programming is right? Right?".
- The author begins by talking about why Object Oriented code is bad, and then proceeds to use Lodash chains and ES6 classes throughout the book without explanation.
- Recursion is barely explained, and the author does not mention that V8 has yet to implement tail call optimization, making most recursive algorithms useless in practice (he does mention trampolining in a side bar, but fails to discuss it at all); He talks about referential transparency, then proceeds to throw runtime exceptions throughout his examples; Monads are barely derived or discussed: the author seems to have simply copy+pasted Functor, Maybe, and Either from a FantasyLand implementation, added a few annotations, and called it done.
Overall, this book was a real bummer. Manning should retract it, fix it, and re-release it. As is, it is not fit for publication.
For anyone seeking a better book, I highly recommend Braithwaite's JavaScript Allonge, followed by Chiusano's excellent Functional Programming in Scala.
Top reviews from other countries
HelaReviewed in France on September 21, 20195.0 out of 5 stars Excellent reference for JS FP
Format: PaperbackVerified PurchaseI read many books about FP in JS, this is my best and favourite one. An excellent reference. Simple, clear, many examples and schemes.
Maxime Bruneau-LavoieReviewed in Canada on November 7, 20175.0 out of 5 stars Highly recommend for anyone who wants to write more functional javascript
Format: PaperbackVerified PurchaseI bought this book after reading RxJS in action by the same author. Highly recommend for anyone who wants to write more functional javascript.
CabiriaReviewed in the United Kingdom on June 26, 20212.0 out of 5 stars I wish there were more books out there on this topic
Format: PaperbackVerified PurchaseI have gone through the first 3 chapters and I feel already disappointed. So far I can say that many concepts are introduced and not really fully explained. On top of this, the author has also the irritating habit of starting a topic only to then say that he will get into it properly in a later chapter. This is a high level overview of something that could have been way more interesting and satisfactory.
ericaReviewed in Canada on December 31, 20174.0 out of 5 stars C'est un bon livre, avec des textes explicatifs suffisant ...
Format: PaperbackVerified PurchaseC'est un bon livre, avec des textes explicatifs suffisant (pas trop verbeux comme avec O'Reilly). Les exemples viennent appuyer succintement le propos. J'ai découvert plusieurs notions importantes du Javascript contemporain (ECMAScript 6) et que j'utiliserai dans mes prochains projets.







