Rey Bango

Web developer, honey badger

What to Read to Get Up to Speed in JavaScript

There’s a discussion going on on the JSMentors JavaScript mailing list about books to read to get you to the next level. There’s been a lot of great feedback and suggestions thrown out and I wanted to offer up what I felt were good books/resources to carry you through the learning process. While I list a number of books in the Big List page that I created, narrowing it down into specific levels makes a lot of sense.

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:

Blogs

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?

Category: JavaScript

Tagged:

62 Responses

  1. Matt says:

    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.

  2. David says:

    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. Cody Lindley says:

    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!

  5. David says:

    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 =)

    • Rey Bango says:

      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. [...] What to Read to Get Up to Speed in JavaScript – Rey Bango collates the wisdom from the JSMentors list’s discussion on books for learning JavaScript, collecting together the collectives recommendations for the best books to look at. [...]

  7. Skilldrick says:

    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.

  8. Andy Ford says:

    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.

  9. 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

    • Matt says:

      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.

  10. Fadzlan says:

    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.

    • Rey Bango says:

      @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.

  11. The HTML5 spec [1] is also a valuable resource, because it defines many new interfaces.

    [1] http://dev.w3.org/html5/spec/Overview.html

    • Rey Bango says:

      @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 :)

        • Rey Bango says:

          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.

  12. Peter Cooper says:

    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 :-)

  13. [...] What to Read to Get Up to Speed in JavaScript HTML5 Canvas Tutorials – all sorts of canvas experiments Roll your own JavaScript lambda syntax – trying to improve the JavaScript syntax for anonymous functions Mozilla Labs Hacks – a place for not-so-polished Mozilla Labs projects that we can experiment with. Included is Emscripten (compiles C/C++ to JavaScript), doctest.js (testing framework for JavaScript), and Doctor JS (code analyzer) CamanJS Benchmark – Firefox 4 is kicking Chrome (dev channel)’s ass – some evidence that Firefox is quite faster than Chrome in some cases (Audio) JavaScript, Hyperspeed (A Minute With Brendan) Installing Node and npm (by Isaac Schlueter on the Joyent blog) Global eval() in JavaScript The truth about non-blocking JavaScript (Nicholas Zakas) Strict Mode Is Coming To Town (Douglas Crockford) Announcing ECMAScript 5.1 Share and Enjoy: [...]

  14. 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.

  15. Ben Atkin says:

    I’ve found Rebecca Murphey’s blog and her jQuery Fundamentals online book very helpful, too:

    http://blog.rebeccamurphey.com/
    http://jqfundamentals.com/book/book.html

    Great list! I’m working through JavaScript Patterns right now. Your list has given me some ideas on what to read next!

    • Rey Bango says:

      Excellent! Glad the list helped. :)

    • Melanie Archer says:

      +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.

  16. Jake says:

    Is there any possibility of making Script Junkie’s RSS feed to have the full article?

  17. 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.

  18. David says:

    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.

  19. 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.

  20. Bohdan Ganicky says:

    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.

    • Rey Bango says:

      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.

  21. wildcard says:

    I would add http://dmitrysoshnikov.com/ecmascript/javascript-the-core/ (online) somewhere near between advanced and godmode ;)

  22. Andrew Walker says:

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

  23. David says:

    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?

    • Fadzlan says:

      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.

  24. 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.

  25. Excellent list!
    Another great resource on spanish would be:

    http://www.etnassoft.com

    We are a group of enthusiasts of Javascript that comment and translate the latest news about this language.

    We hope that will be useful for the spanish audience.

  26. [...] many more. Check out Rey Bango’s “What to Read to Get Up to Speed in JavaScript” for [...]

  27. Justin says:

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

  28. Bradley Zheng says:

    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.

  29. [...] Rey Bango – what to read to get up to speed on JavaScript [...]

  30. [...] 有讨论:References for JavaScript Mastery. 去年 Rey Bango 博客上也有一篇文章:What to Read to Get Up to Speed in JavaScript. [...]

  31. Nick Morgan says:

    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.

  32. 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.

  33. Stephen says:

    Is the list kept current? Anything to add to the list?

  34. Ama says:

    Rey did you updated the list?

    Thanks

Learn JavaScript!

What to Read to Get Up to Speed in JavaScript.

The best books & blogs for learning JavaScript development. Broken down by experience levels!


My BIG LIST of JavaScript, CSS & HTML Development Tools, Libraries, Projects, and Books.

Constantly updated with the latest and greatest tools. Check it out!

Categories

Rey Bango is Stephen Fry proof thanks to caching by WP Super Cache