The 25 best JavaScript books of all-time

A data-backed answer

🌐

Methodology

There are countless lists on the internet claiming to be the list of must-read JavaScript books and it seemed that all those lists always recommended that same books minus two or three odd choices.

Finding good ressources 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 though it would be interesting to trust the wisdom of the crown and to find the books that appeared the most in those “Best Python 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.

I’ve simply asked Google for a few queries like “Best JavaScript 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 75 links. Using the title of the pages I was also able to quickly discards:

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 1hours, 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 manuel extraction and some web scraping.

I ended up with a huge list of books, not usable without some post-processing.

image from the best programming books list

To find the most quoted python 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.

And afterquite a bit of manual cleaning.

My list now looked like this:

image from the best programming books list

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:

Results

25
)

JavaScript & jQuery: The Missing Manual

by
David Sawyer McFarland
9.4
% recommend
🛒   Buy

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
% recommend
🛒   Buy

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
% recommend
🛒   Buy

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
% recommend
🛒   Buy

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
% recommend
🛒   Buy

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.\nAuthor 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
% recommend
🛒   Buy

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\n* A lifetime subscription of updates to the book

Amazon.com
19
)

JavaScript Programmer's Reference

by
Alexei White
11.3
% recommend
🛒   Buy

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
% recommend
🛒   Buy

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.\n 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
% recommend
🛒   Buy

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\nUsing arrays\nThe power of functions\nHow to work with objects

-Making use of prototypes\nUnderstanding closures\nWriting and testing applications\n What’s so special about this book?

-We think your time is too valuable to waste struggling with new concepts. Using the latest research in cognitive science and learning theory to craft a multi sensory learning experience, Head First JavaScript Programming uses a visually rich format designed for the way your brain works, not a text heavy approach that puts you to sleep. This book replaces Head First JavaScript, which is now out of print.

Amazon.com
16
)

Javascript Allongé

by
Reginald Braithwaite
13.2
% recommend
🛒   Buy

A strong cup of functions, objects, combinators, and decorators by Reginald Braithwaite\nJavaScript 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
% recommend
🛒   Buy

Covers what’s new in ECMAScript 2018 and ECMAScript 2019.

Amazon.com
14
)

JavaScript Enlightenment

by
Cody Lindley
15.1
% recommend
🛒   Buy

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.\nLibraries 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
% recommend
🛒   Buy

JavaScript is the programming language of the Internet, the secret sauce that makes the Web awesome, your favorite sites interactive, and online games fun!\nJavaScript 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
% recommend
🛒   Buy

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. \nAt 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
% recommend
🛒   Buy

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.\nJavaScript 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.\n-Examine the anatomy of a large-scale JavaScript application\n-Build modern web apps with the capabilities of desktop applications\n-Learn best practices for code organization, modularity, and reuse\n-Separate your application into different layers of responsibility\n-Build efficient, self-describing hypermedia APIs with Node.js\n-Test, integrate, and deploy software updates in rapid cycles\n-Control resource access with user authentication and authorization\n-Expand your application’s reach through internationalization

Amazon.com
10
)

Speaking JavaScript

by
Axel Rauschmayer
22.6
% recommend
🛒   Buy

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.\nSpeaking 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:\nJavaScript quick start: Familiar with object-oriented programming? This part helps you learn JavaScript quickly and properly.\nJavaScript 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.\nBackground: Understand JavaScript’s history and its relationship with other programming languages.\nTips, 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
% recommend
🛒   Buy

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.\nLearn JavaScript using the most up to date coding style\nUnderstand JSON, functions, events, and feature detection\nUtilize the new HTML5 elements and the related API\nExplore new features including geolocation, local storage, and more\nJavaScript 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
% recommend
🛒   Buy

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\n–The various ways to create objects

–How to define your own constructors\n–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
% recommend
🛒   Buy

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.\nWritten 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\nExplore 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\nStudy sample JavaScript approaches to common design patterns such as Singleton, Factory, Decorator, and more\nExamine 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
% recommend
🛒   Buy

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
% recommend
🛒   Buy

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
% recommend
🛒   Buy

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
% recommend
🛒   Buy

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
% recommend
🛒   Buy

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
% recommend
🛒   Buy

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:

I hope you enjoyed this article.

Keep me updated!

Receive weekly update about best programming books!
Just that, no spam, no bs.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.