What to Read to Get Up to Speed in JavaScript

Updated: 10/7/2016

I wanted to offer up what I felt were good books/resources to carry you through learning JavaScript.

Note that some resources will overlap between levels. That should be expected as some books cover a wide breadth of language features. Also, I am NOT covering blogs in this post, only books (print and online). If you think something’s missing, please add it to the comments below.

Also, I’m not saying that you need to read every book mentioned below. These are books that I’ve read over the years and found incredibly useful so I’m categorizing them to make it easier for you to get going. I’ve done the legwork so need for you to do the same. Choose the books that you feel suit you.

Introductory

These are books that will give you the fundamentals of the JavaScript language and get you started:

Intermediate

Once you’ve gotten an understanding of the basics, it’s time to get a resource that will take you deeper and in many cases be your reference for years to come. These books fit that description.

Advanced

You have a firm grasp of the JavaScript language and now you want to step up your game. These books will help you get the knowledge you need to organize your applications and build maintainable code.

God Mode Reading

As Peter van der Zee likes to call it “godmode; the actual specification”. Want some deep reading and know every nook and cranny of the language. Here ya go:

What if *I* had to Choose Just 3 Books

If I had to choose just three books to have in my stash, I’d go with the following:

Some may disagree with me on this but I’ve personally found each one of these books incredibly valuable. Professional JavaScript for Web Developers is a complete reference and covers EVERYTHING. All developers need a book like this. The book on Object-Oriented JavaScript is great to give you an understanding of leveraging one of the best features in JavaScript. Once you get past the basics, you’re going to want to identify key coding practices that make your code better and more maintainable. JavaScript Patterns helps you do that.

What would you guys choose?

Rey Bango

62 Comments

  1. Excellent list Rey. I just picked up Javascript: The Good Parts last week hoping to improve my JS skills. So far it’s been great, very informative, easy to follow and I’d definitely recommend it as a beginner JS book.

    • Thanks Matt. JS: The Good Parts is definitely a good book. It seems like a nice balance of many topics and small enough to read quickly.

  2. I am reading JavaScript – The Good Parts and so far it is good. Do any of those other books teach you how to create JS applications using the pattern Nicholas Zakas talks about in his YUI presentation on scalable application architecture? Or do they discuss other good patterns as well?

  3. You’re missing “godmode; the actual specification”. It’s a tough cookie, but after intermediate/advanced you’ll learn more from the spec than most books out there.

  4. Doh…you beat me to this much needed post. The most important info here is the, “if I only had to pick 3 books”.

    This is the same conclusion I have arrived at.

    Zakas’s book does not get enough credit!

    • Agreed. I know some people may not agree with the list but for me personally, I’ve found these books immensely useful.

  5. Just curious, how long did it take you to read all of these? I’d love to read them all but there is only so much time in my day =)

    • Hard to say. The smaller books like JS the Good Parts was a day or two max. Some were a couple of weeks. And I still go back and reference them regularly.

  6. This is a really useful list. I think I’ll be coming back to it for a long time :) As I said on JSMentors, I’ve added a few to my Wish List now! Cheers Rey.

  7. Thanks for putting this list together. JavaScript: The Good Parts as an excellent introductory book for people who are already computer scientists or programmers. However I would recommend it as ‘intermediate’ for non-programmers and/or people learning JS as their first programming language.

  8. Pro JavaScript Design Patterns (Harmes/Diaz)is a really good book (that I think beat most of the list here to market).

    http://www.amazon.com/JavaScript-Design-Patterns-Recipes-Problem-Solution/dp/159059908X

    Personally, I didn’t care much for JavaScript The Good Parts, I just didn’t find it that easy of a read. I completely agree with What Andy Ford mentions about it being a book for those with a traditional CS background (not me). I read it a couple times but just didn’t get all the Crockford nut swinging around it…I admit I need to go back and re-read it and will at some point, but can’t say I’m a big fan of it as others are.

    I would definitely recommend the two books by Stoyan Stefanov:

    Object-Oriented JavaScript
    JavaScript Patterns

    • I agree with you and Andy on JS: the good parts. Definitely more of an intermediate book for people without a programming background. I still find it immensely useful and recommend reading it when you have a stronger grasp of JS or programming in general. A lot of best practices are covered in the book which are definitely worth reading.

  9. If you have any experience in programming, you might want to start with Mozilla reintroduction to Javascript at https://developer.mozilla.org/en/JavaScript/A_re-introduction_to_JavaScript

    Its quite short and concise and at the end of reading it, you would have a good picture what type of language of Javascript is.

    After that you can fill the details with any of the book listed, which I would say would be much easier now that you have basic concept of Javascript.

    • @Faszlan: Yep Simon Willison does a great job of introducing JavaScript. The intro books I mentioned though can offer the same so it’s really up to whether you want to read online or have something on your shelf that you can reference easily.

    • @Daniel: Very true. I want to focus this on JavaScript itself, though, because in order to leverage those new APIs, you need to have a decent understanding of the JS language.

      • @Rey: That makes sense, as the question on the mailinglist is how to get your JavaScript skills to the next level, not how to make fancy things in the browser :)

        • hehe yea. The fancy things come after you’ve got a good understanding of the language. BTW, I updated the post to include top blogs to read as well.

  10. I wouldn’t be doing my job if I didn’t recommend..

    Not a book and not a blog, but if you want to keep up with the latest JavaScript stuff on a weekly basis through e-mail: http://javascriptweekly.com/ – It’s mine but it’s had kudos from folks like Steve Souders and Amy Hoy and almost at 3000 subscribers so I don’t feel too bad pimping it ;-) If you want a preview, the latest issue can be seen on the Web.

    And yes, this post is going in today’s edition for sure :-)

  11. Great list and thank you very much.

    I’m not sure about one thing: Is Crockford’s book classified correctly? It’s information is dense. Every time I think I know more JS, I reread it and realize just how much is in there.

    • Thanks Martin. I think it is in that it offers a decent blend of intro to advanced materials and is a good read for anyone starting out.

    • +1 on Rebecca Murphey’s writings, which are very accessible to readers needing the fundamentals. Like other commenters, I’ve found Crockford’s book rather cryptic for the JavaScript (or programming) novice.

    • I agree, Rebecca Murphey’s jQuery Fundamentals (the first half) is probably the best resource for a concise introduction to JavaScript in general.

    • Hey Jake, I checked and we’re stuck with this for now. We’re going to be moving to a new CMS early next year which should provide more flexibility for us. Hopefully you’ll still subscribe as we have some great content coming up.

  12. I’m just starting out, but:
    – Definitive Guide
    – The Good Parts
    – anything by Resig; currently preprint of the Ninja book.

    One huge hole, however. Most books focus on browser JS, so include the language and the browser (DOM, AJAX). But JS is Very Quickly taking over all areas of language: server, client, and even communication (JSON). I’d LOVE a book that took a very wide view of JS-Everywhere.

  13. Hey Rey,

    Any chance of getting an article on SJ about good code organization when using jQuery? One approach that I have seen that has seemed effective and a way to modularize your JS code is by using the module pattern, or the revealing module pattern, and passing the jQuery object into it.

    • That’s a good topic to tackle and I’ll definitely look into getting it published on Script Junkie. Thanks for the suggestion.

  14. Great post!
    I’m reading “JavaScript Patterns” and I find it amazing..”Secrets of the JavaScript Ninja”, once it’s completed, is the next one in my list.

  15. Hi Rey,

    thanks for the list. On the introductory level I would also mention “DOM scripting” by Jeremy Keith: http://domscripting.com/book/ It’s main focus is on html/css coders with little or no knowledge of JS. Its 2nd edition co-authored with Jeffrey Sambells is coming out this month.

    • That’s a really good book. I wanted to focus more on the JS language though but I would definitely recommend that one for understanding the DOM. Glad to see he’s coming up with a new edition.

  16. Thanks for the list Rey! I’m currently reading both the pragmatic guide and the object oriented books and they’re both pretty good.

  17. I’ve been reading more of The Good Parts, and I have found some sections rather complex, particularly in the inheritance chapter. I did like the Functions chapter, however, because it went into various invocation patterns and the module pattern which i researched more later and came across this blog that does a great job in going into this in more detail:

    http://javascriptweblog.wordpress.com/2010/12/07/namespacing-in-javascript/

    I will probably need a 2nd read through to understand all the code samples presented. Just curious, for those of you who read technical books, when you’re reading do you make sure you understand every section or do you skim over parts?

    • Understand every section that you *need*. Although since we are talking a language here, not framework, you might need to read every section.

      For those part that is not clear, just continue reading and keep that in mind. It is hard to write a good book about topics that are so intertwined, in times it would be just not possible. Once you understand some related concept, you can always go back and refer.

  18. Rey, very nice roundup! I follow these blogs too:

    http://almaer.com/blog/ Dion Almaer always has a good high-level vision of where things are going
    http://www.bennadel.com/ Ben “learns by doing” and always has interesting and fun hack experiments

    And there’s also a few podcasts around the place, like the official jQuery Podcast (of course!), YayQuery, and the http://minutewith.com/ series.

    People interested in JavaScript will probably also want to look into resources on HTML5 and CSS, and possibly NodeJS too.

  19. Love the list! Do you have an recommendations for someone with HTML/CSS experience but no programming experience?

  20. You need to code a lot before you can really understand Javascript: The Good Parts. So I don’t think it’s an ‘introductory’ book.

  21. Hey, you missed me off the list of blogs! [joking]

    Seriously though, I’ve read Pragmatic Guide to JavaScript and I wouldn’t put it in the same league as any of the other books in your list. In general I love Prag Prog books, but I was really disappointed in that one. It felt more like a cheatsheet for non-JavaScript developers than a book on serious JS development.

  22. Good list – Just making it through JavaScript Patterns at the moment. Also just starting to read Javascript Web Applications by O’Reilly as well. The two seem to compliment one another – sorta.

    • Hasn’t been updated in a bit but it’s still a relevant list. I’ll update it again next week. Been too long. Thanks for the nudge.

Comments are closed.