This article is a follow up of the one I did about the the most recommended programming books of all-time.
If you've read this one recently. I guess you can jump straight to the results.
There are countless lists on the internet claiming to be the list of must-read JS books and it seemed that all those lists always recommended that same books minus two or three odd choices.
Finding good resources for learning programming is always tricky. Every-one has its own opinion about what book is the best to learn, and as we say in french, "Color and tastes should not be argued about".
However, I thought it would be interesting to trust the wisdom of the crown and to find the books that appeared the most in those "Best JavaScript Book" lists.
If you want to jump right on the results go take a look below at the full results. If you want to learn about the methodology, bear with me.
Disclaimer: I spent countless hours on this article so I've decided to put Amazon affiliation links to see if those kinds of detailed articles could be a viable source of revenue, ... or not 🤷‍♂️.
Methodology:
I've simply asked Google for a few queries like "Best JS Books" and its variations of. I have then scrapped all those pages (using ScrapingBee, a web scraping API I'm working on).
I've deduplicated the links and ended up with nearly 105 links. Using the title of the pages I was also able to quickly discards:
- list focused on one particular technology or platform
- list focused on one particular year
- list focused on free books
- Quora and Reddit threads
I ended up with almost 75 HTML files. I went on opening all the files on my browser, open my chrome inspector, found and wrote the CSS selector matching book titles in the article. This took me around 1 hour, almost 30 seconds per page.
This also allowed me to discard even more nonrelevant pages, and I discarded a lot. In the end, I compiled around 70 lists into this one.
Book titles were then extracted with manual extraction and some web scraping.
I ended up with a huge list of books, not usable without some post-processing.
To find the most quoted JS books I needed to normalize my results.
I had to play with all the different variation like "{title} by {author}" or "{title} - {author}".
Or "{title}:{subtitle}" and "{title}", or even all the one containing edition number.
I ended up doing it using this simple custom Python function:
def clean_link(link):
link = link.encode().decode('ascii', errors='ignore')
link = link.replace("'", '')
link = link.lower()
link = ' '.join([w for w in link.split(' ') if w not in ['the', 'a']])
link = link.split('by')[0]
link = link.split(':')[0]
link = link.split('(')[0]
link = ' '.join(link.split())
link = link.replace('-', '_')
link = ''.join([c for c in link if c.isalpha() or c == '_' or c == ' '])
link = link.strip()
link = link.replace(' ', '_')
link = ''.join([c for c in link if c.isalpha() or c == '_'])
return link
and quite a bit of manual cleaning.
My list now looked like this:
From there it was easy to compute the most recommended books. You can find all the data used to process this list on this repo. Now let's take a look at the list:
25 most recommended JavaScript books of all-time
25. JavaScript & jQuery: The Missing Manual by David Sawyer McFarland (9.4% recommended)
"JavaScript lets you supercharge your HTML with animation, interactivity, and visual effects—but many web designers find the language hard to learn. This easy-to-read guide not only covers JavaScript basics, but also shows you how to save time and effort with the jQuery and jQuery UI libraries of prewritten JavaScript code. You’ll build web pages that feel and act like desktop programs—with little or no programming." Amazon.com
24. Learn JavaScript VISUALLY by Ivelin Demirov (9.4% recommended)
"It's a beautifully illustrated full-color JavaScript book that teaches the basics through Metaphors, Analogies and Easy Interactive Exercises (Works on PC, Mac, iPad, other tablets)" Amazon.com
23. Learning JavaScript Design Patterns by Addy Osmani (11.3% recommended)
"With Learning JavaScript Design Patterns, you’ll learn how to write beautiful, structured, and maintainable JavaScript by applying classical and modern design patterns to the language. If you want to keep your code efficient, more manageable, and up-to-date with the latest best practices, this book is for you.
Explore many popular design patterns, including Modules, Observers, Facades, and Mediators. Learn how modern architectural patterns—such as MVC, MVP, and MVVM—are useful from the perspective of a modern web application developer. This book also walks experienced JavaScript developers through modern module formats, how to namespace code effectively, and other essential topics." Amazon.com
22. Beginning JavaScript and CSS Development with jQuery by Richard York (11.3% recommended)
"This book covers the jQuery JavaScript framework and the jQuery UI JavaScript framework to get more results more quickly out of JavaScript programming. I cover each method exposed by jQuery’s API, which contains methods to make common, redundant tasks go much more quickly in less code. I also cover how jQuery eliminates certain cross-browser, cross-platform development headaches like the event model; not only does it eliminate these headaches, but it also makes it easier to work with events by reducing the amount of code that you need to write to attach events. It even gives you the ability to simulate events." Amazon.com
21. Learning JavaScript by Ethan Brown (11.3% recommended)
"This is an exciting time to learn JavaScript. Now that the latest JavaScript specification—ECMAScript 6.0 (ES6)—has been finalized, learning how to develop high-quality applications with this language is easier and more satisfying than ever. This practical book takes programmers (amateurs and pros alike) on a no-nonsense tour of ES6, along with some related tools and techniques.
Author Ethan Brown (Web Development with Node and Express) not only guides you through simple and straightforward topics (variables, control flow, arrays), but also covers complex concepts such as functional and asynchronous programming. You’ll learn how to create powerful and responsive web applications on the client, or with Node.js on the server." Amazon.com
20. Human JavaScript by Henrik Joreteg (11.3% recommended)
"Practical patterns for simple but powerful javascript apps.
No magic frameworks. No monolithic toolkits. You're going to work with proper, real-life javascript in a way you'll understand, and with explanations that help you learn how to make great choices as you build your apps.
Here's what's included:
Clear and straightforward explanations
Code examples
Project skeleton for javascript applications
-
A lifetime subscription of updates to the book" Amazon.com
19. JavaScript Programmer's Reference by Alexei White (11.3% recommended)
"Learn everything about utilizing the JavaScript language with the next generation of Rich Internet Applications from the accessible information in JavaScript Programmer’s Reference, both a tutorial and a reference guide for web developers. Master methods for using Java with applications like Microsoft’s Silverlight, Ajax, Flex, Flash and AIR by practicing with hands-on examples with practical, usable code. Employ this complete JavaScript reference to help you understand JavaScript Data Types, Variables, Operators, Expressions and Statements, work with JavaScript Frameworks and data, and improve performance with Ajax." Amazon.com
18. A Smarter Way to Learn JavaScript by Mark Myers (11.3% recommended)
"Learning JavaScript is hell because of two problems. I remove the problems, and you start having fun.
The first problem is retention. You remember only ten or twenty percent of what you read. That spells failure. To become fluent in a computer language, you have to retain pretty much everything.
How can you retain everything? Only by constantly being asked to play everything back. That's why people use flashcards. But my system does flashcards one better. After reading a short chapter, you go to my website and complete twenty interactive exercises. Algorithms check your work to make sure you know what you think you know. When you stumble, you do the exercise again. You keep trying until you know the chapter cold. The exercises are free.
The second problem is comprehension. Many learners hit a wall when they try to understand advanced concepts like variable scope and prototypes. Unfortunately, they blame themselves. That's why the Dummies books sell so well. But the fault lies with the authors, coding virtuosos who lack teaching talent. I'm the opposite of the typical software book author. I'll never code fast enough to land a job at Google. But I can teach.
Anyway, most comprehension problems are just retention problems in disguise. If you get lost trying to understand variable scope, it's because you don't remember how functions work. Thanks to the interactive exercises on my website, you'll always understand and remember everything necessary to confidently tackle the next concept." Amazon.com
17. Head First JavaScript Programming by Eric Freeman & Elisabeth Robson (11.3% recommended)
"This brain friendly guide teaches you everything from JavaScript language fundamentals to advanced topics, including objects, functions, and the browser’s document object model. You won’t just be reading—you’ll be playing games, solving puzzles, pondering mysteries, and interacting with JavaScript in ways you never imagined. And you’ll write real code, lots of it, so you can start building your own web applications. Prepare to open your mind as you learn (and nail) key topics including:
- The inner details of JavaScript
- How JavaScript works with the browser
- The secrets of JavaScript types
- Using arrays
- The power of functions
- How to work with objects
- Making use of prototypes
- Understanding closures
- Writing and testing applications
16. Javascript Allongé by Reginald Braithwaite (13.2% recommended)
"A strong cup of functions, objects, combinators, and decorators by Reginald Braithwaite
JavaScript Allongé solves two important problems for the ambitious JavaScript programmer. First, JavaScript Allongé gives you the tools to deal with JavaScript bugs, hitches, edge cases, and other potential pitfalls.
There are plenty of good directions for how to write JavaScript programs. If you follow them without alteration or deviation, you will be satisfied. Unfortunately, software is a complex thing, full of interactions and side-effects. Two perfectly reasonable pieces of advice when taken separately may conflict with each other when taken together. An approach may seem sound at the outset of a project, but need to be revised when new requirements are discovered.
When you “leave the path” of the directions, you discover their limitations. In order to solve the problems that occur at the edges, in order to adapt and deal with changes, in order to refactor and rewrite as needed, you need to understand the underlying principles of the JavaScript programming language in detail." Amazon.com
15. Exploring ES2018 and ES2019 by Dr. Axel Rauschmayer (13.2% recommended)
"Covers what’s new in ECMAScript 2018 and ECMAScript 2019." Amazon.com
14. JavaScript Enlightenment by Cody Lindley (15.1% recommended)
"If you’re an advanced beginner or intermediate JavaScript developer, JavaScript Enlightenment will solidify your understanding of the language—especially if you use a JavaScript library. In this concise book, JavaScript expert Cody Lindley (jQuery Cookbook) provides an accurate view of the language by examining its objects and supporting nuances.
Libraries and frameworks help you build web applications quickly and efficiently, but when things go wrong or performance becomes an issue, knowing how and why they work is critical. If you’re ready to go under the hood and get your hands dirty with JavaScript internals, this is your book." Amazon.com
13. JavaScript for Kids by Nick Morgan (18.9% recommended)
"JavaScript is the programming language of the Internet, the secret sauce that makes the Web awesome, your favorite sites interactive, and online games fun!
JavaScript for Kids is a lighthearted introduction that teaches programming essentials through patient, step-by-step examples paired with funny illustrations. You’ll begin with the basics, like working with strings, arrays, and loops, and then move on to more advanced topics, like building interactivity with jQuery and drawing graphics with Canvas." Amazon.com
12. Professional JavaScript for Web Developers by Matt Frisbie (18.9% recommended)
"Professional JavaScript for Web Developers is the essential guide to next-level JavaScript development. Written for intermediate-to-advanced programmers, this book jumps right into the technical details to help you clean up your code and become a more sophisticated JavaScript developer. From JavaScript-specific object-oriented programming and inheritance, to combining JavaScript with HTML and other markup languages, expert instruction walks you through the fundamentals and beyond.
At 1200 pages, this book is the most comprehensive JavaScript reference available anywhere. This new fourth edition has been updated to cover through ECMAScript 2019; new frameworks and libraries, new techniques, new APIs, and more are explained in detail for the professional developer, with a practical focus that helps you put your new skills to work on real-world projects." Amazon.com
11. Programming JavaScript Applications by Eric Elliott (22.6% recommended)
"Take advantage of JavaScript’s power to build robust web-scale or enterprise applications that are easy to extend and maintain. By applying the design patterns outlined in this practical book, experienced JavaScript developers will learn how to write flexible and resilient code that’s easier—yes, easier—to work with as your code base grows.
JavaScript may be the most essential web programming language, but in the real world, JavaScript applications often break when you make changes. With this book, author Eric Elliott shows you how to add client- and server-side features to a large JavaScript application without negatively affecting the rest of your code.
-Examine the anatomy of a large-scale JavaScript application
-Build modern web apps with the capabilities of desktop applications
-Learn best practices for code organization, modularity, and reuse
-Separate your application into different layers of responsibility
-Build efficient, self-describing hypermedia APIs with Node.js
-Test, integrate, and deploy software updates in rapid cycles
-Control resource access with user authentication and authorization
-Expand your application’s reach through internationalization" Amazon.com
10. Speaking JavaScript by Axel Rauschmayer (22.6% recommended)
"Like it or not, JavaScript is everywhere these days—from browser to server to mobile—and now you, too, need to learn the language or dive deeper than you have. This concise book guides you into and through JavaScript, written by a veteran programmer who once found himself in the same position.
Speaking JavaScript helps you approach the language with four standalone sections. First, a quick-start guide teaches you just enough of the language to help you be productive right away. More experienced JavaScript programmers will find a complete and easy-to-read reference that covers each language feature in depth. Complete contents include:
JavaScript quick start: Familiar with object-oriented programming? This part helps you learn JavaScript quickly and properly.
JavaScript in depth: Learn details of ECMAScript 5, from syntax, variables, functions, and object-oriented programming to regular expressions and JSON with lots of examples. Pick a topic and jump in.
Background: Understand JavaScript’s history and its relationship with other programming languages.
Tips, tools, and libraries: Survey existing style guides, best practices, advanced techniques, module systems, package managers, build tools, and learning resources." Amazon.com
9. Beginning JavaScript by Jeremy McPeak (24.5% recommended)
"Beginning JavaScript 5th Edition shows you how to work effectively with JavaScript frameworks, functions, and modern browsers, and teaches more effective coding practices using HTML5. This new edition has been extensively updated to reflect the way JavaScript is most commonly used today, introducing you to the latest tools and techniques available to JavaScript developers. Coverage includes modern coding practices using HTML5 markup, the JSON data format, DOM APIs, the jQuery framework, and more. Exercises with solutions provide plenty of opportunity to practice, and the companion website offers downloadable code for all examples given in the book.
Learn JavaScript using the most up to date coding style
Understand JSON, functions, events, and feature detection
Utilize the new HTML5 elements and the related API
Explore new features including geolocation, local storage, and more
JavaScript has shaped the Web from a passive medium into one that is rich, dynamic, and interactive. No matter the technology on the server side, it's JavaScript that makes it come alive in the browser. To learn JavaScript the way it's used today, Beginning JavaScript, 5th Edition is your concise guide." Amazon.com
8. The Principles of Object-Oriented JavaScript by Nicholas C.Zakas (24.5% recommended)
"If you've used a more traditional object-oriented language, such as C++ or Java, JavaScript probably doesn't seem object-oriented at all. It has no concept of classes, and you don't even need to define any objects in order to write code. But don't be fooled—JavaScript is an incredibly powerful and expressive object-oriented language that puts many design decisions right into your hands.
In The Principles of Object-Oriented JavaScript, Nicholas C. Zakas thoroughly explores JavaScript's object-oriented nature, revealing the language's unique implementation of inheritance and other key characteristics. You'll learn:
–The difference between primitive and reference values
–What makes JavaScript functions so unique
–The various ways to create objects
–How to define your own constructors
–How to work with and understand prototypes
–Inheritance patterns for types and objects
The Principles of Object-Oriented JavaScript will leave even experienced developers with a deeper understanding of JavaScript. Unlock the secrets behind how objects work in JavaScript so you can write clearer, more flexible, and more efficient code." Amazon.com
7. JavaScript Patterns by Stoyan Stefanov (26.4% recommended)
"What's the best approach for developing an application with JavaScript? This book helps you answer that question with numerous JavaScript coding patterns and best practices. If you're an experienced developer looking to solve problems related to objects, functions, inheritance, and other language-specific categories, the abstractions and code templates in this guide are ideal—whether you're using JavaScript to write a client-side, server-side, or desktop application.
Written by JavaScript expert Stoyan Stefanov—Senior Yahoo! Technical and architect of YSlow 2.0, the web page performance optimization tool—JavaScript Patterns includes practical advice for implementing each pattern discussed, along with several hands-on examples. You'll also learn about anti-patterns: common programming approaches that cause more problems than they solve
Explore useful habits for writing high-quality JavaScript code, such as avoiding globals, using single var declarations, and more
Learn why literal notation patterns are simpler alternatives to constructor functions
Discover different ways to define a function in JavaScript
Create objects that go beyond the basic patterns of using object literals and constructor functions
Learn the options available for code reuse and inheritance in JavaScript
Study sample JavaScript approaches to common design patterns such as Singleton, Factory, Decorator, and more
Examine patterns that apply specifically to the client-side browser environment" Amazon.com
6. JavaScript and JQuery: Interactive Front-End Web Development by Jon Duckett (30.2% recommended)
"This book was written for anyone who wants to use JavaScript to make their websites a little more interesting, engaging, interactive, or usable. In particular, it is aimed at people who do not have a degree in computer science (well, not yet anyway).Programming books can be intimidating, so we wanted to create a book that taught readers how to use JavaScript in a gentler, more visual way. And importantly, we did not want to assume that the reader had any experience of programming beyond the ability to create a web page in HTML and CSS. (After all, many kinds of people are creating websites these days, and not all of us come from a programming background.)So, if you have ever struggled to get a script working on your web pages, want a better idea of how to customize scripts, or want to write your own scripts from scratch, this book was written for you.We can't promise to remove the unfamiliar terms that programmers use, but we do tell you what they mean (with the aid of visual examples and diagrams) so that JavaScript won't seem like a foreign language any more." Amazon.com
5. Secrets of the JavaScript Ninja by John Resig & Bear Bibeault & Josip Maras (32.1% recommended)
"More than ever, the web is a universal platform for all types of applications, and JavaScript is the language of the web. If you're serious about web development, it's not enough to be a decent JavaScript coder. You need to be ninja-stealthy, efficient, and ready for anything. This book shows you how." Amazon.com
4. Effective JavaScript by David Herman (39.6% recommended)
"In order to truly master JavaScript, you need to learn how to work effectively with the language’s flexible, expressive features and how to avoid its pitfalls. No matter how long you’ve been writing JavaScript code, Effective JavaScript will help deepen your understanding of this powerful language, so you can build more predictable, reliable, and maintainable programs. Author David Herman, with his years of experience on Ecma’s JavaScript standardization committee, illuminates the language’s inner workings as never before—helping you take full advantage of JavaScript’s expressiveness. Reflecting the latest versions of the JavaScript standard, the book offers well-proven techniques and best practices you’ll rely on for years to come." Amazon.com
3. Eloquent JavaScript by Marijn Haverbeke (56.6% recommended)
"JavaScript lies at the heart of almost every modern web application, from social apps like Twitter to browser-based game frameworks like Phaser and Babylon. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications. This much anticipated and thoroughly revised third edition of Eloquent JavaScript dives deep into the JavaScript language to show you how to write beautiful, effective code. It has been updated to reflect the current state of Java¬Script and web browsers and includes brand-new material on features like class notation, arrow functions, iterators, async functions, template strings, and block scope. A host of new exercises have also been added to test your skills and keep you on track." Amazon.com
2. You Don't Know JS Book Series by Kyle Simpson (60.4% recommended)
"It seems like there's never been as much widespread desire before for a better way to deeply learn the fundamentals of JavaScript. But with a million blogs, books, and videos out there, just where do you START? Look no further!The worldwide best selling 'You Don't Know JS' book series is back for a 2nd edition: 'You Don't Know JS Yet'. All 6 books are brand new, rewritten to cover all sides of JS for 2020 and beyond.'Get Started' prepares you for the journey ahead, first surveying the language then detailing how the rest of the You Don t Know JS Yet book series guides you to knowing JS more deeply." Amazon.com
1. JavaScript: The Definitive Guide by David Flanagan (66.0% recommended)
"JavaScript is the programming language of the web and is used by more software developers today than any other programming language. For nearly 25 years this best seller has been the go-to guide for JavaScript programmers. The seventh edition is fully updated to cover the 2020 version of JavaScript, and new chapters cover classes, modules, iterators, generators, Promises, async/await, and metaprogramming. You’ll find illuminating and engaging example code throughout." Amazon.com
Conclusion
Although the order might surprise some, by definition, most of you must have heard of these books already.
A few additional things I learned making this list:
- O’Reilly is the big winner of this list with 7 books in the top 25
- Surprisingly, "JavaScript the Good Part" is not in this list
- Jquery is still heavily tied to the JS ecosystem, even in 2020
I hope you enjoyed this article. I now publish all those lists in my first no-code tool: Best-Books.dev, check-it out.