Jeff Carouth

Web and mobile developer. Agile apprentice.

JavaScript Essential Reading List

| Comments

After I presented “JavaScripting for the PHP Developer in 2012” I had several conversations with people about my journey from ignorant about JavaScript to JavaScript enthusiast. In every one of those conversations I recommended a couple sources of information that helped me understand the language. Later on I was asked about some book recommendations.

I usually purchase technical books in paper form. It might seem silly being a geek and all, but paper copies provide one thing electronic copies have not yet caught up on: lendability. In my so-called circle I lend books I recommend to people. That gives them a shot to look through the book and figure out if my recommendation is warrented and then (hopefully) purchase their own copy and return mine. It doesn’t always work out that way, but that’s the idea.

If I thought it a good idea, I would let you borrow these books in order. But I only have one copy of each and I think you can probably find a copy at a library, in a friend’s collection, or for a reasonable price on, so I’ll just stick with a list.


The progression of books I tend to recommend to people wanting to appreciate JavaScript is as follows.

JavaScript: The Good Parts by Douglas Crockford

This book covers the basics. You’ve probably seen the classic Good Parts vs Definitive guide photo but that is only part of the story. The Good Parts covers the basics of syntax, objects, regexes, methods, inheritance, and a little style all in one tiny package. Reading this book will not make you proficient in JavaScript, but it should lead you to the questions you need to ask about the language. The idea is to get you thinking about these subjects and allow you to discover the areas you need more explanation. That is why I suggest this as a first text.

One word of caution or a caveat–Douglas Crockford has many opinions about the langauage and style in particular. While they are usually rooted in logical analysis of his experiences with JavaScript, they aren’t always shared by every JavaScript developer. Don’t get caught up in Crockfordian Vs. Everyone-else-ian JavaScript at this point. There will be plenty of time to argue and bicker later. Digest what is being offered and find the areas you need further explanation.

View JavaScript: The Good Parts on

JavaScript Patterns by Stoyan Stefanov

Patterns are important in any language, and we aren’t just talking about design patterns here. I’m talking about development patterns and practices to create modular, extensible, reusable, and all the other important *-ables. In this book you will find extensive explanation of useful habits and patterns for writing JavaScript that is a pleasure to maintain. This is the goal of any developer, or at least it should be. The book will get you started on writing such code in JS.

As a companion resource, there is an excellent collection of pattern explanations and examples by Addy Osmani called Learning JavaScript Design Patterns. Bookmark this ebook and reference it as you use the patterns. It is helpful even after you grasp the concepts well.

View JavaScript Patterns on

Eloquent JavaScript: A Modern Introduction to Programming by Marijn Haverbeke

This book, in many ways, is a rehash of the first two books. So why would I recommend you read it? To learn the subject from a different perspective, that’s why. Having different voices and different backgrounds is essential to having a well-rounded knowledgebase on any subject. I recommend this book as your third text so that the insight you picked up in the first two is hopefully fresh and you will be able to whizz through this book picking up the subject in a slightly different light.

View Eloquent JavaScript on

High Performance JavaScript by Nicholas Zakas

When do you worry about optimization? While you’re first learning how to solve a problem? No. So I recommend a book about performance and optimization after you’ve grasped the basics and patterns of writing JavaScript code. This book has great examples and tips. One word of caution, if you are familiar with concatenation, minification, and such practices you might find some of the book to be a bit basic. However I still suggest you read through it as it does offer some insight you might not otherwise pick up on.

View High Performance on


I recommend these books in this order because they helped me learn about the language. There are many other options and many books and resources which follow these, but if you are looking for books to get you prepared to be enthusiastic about JavaScript, these should do the trick.

Assess your knowledge level and pick up the list where you think you should. However, for the most well-rounded view of the language I think everyone should read all of these books at least once.