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.
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.
- You don’t know ES6
- Understanding ES6
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:
- Standard ECMA-262 ECMAScript Language Specification 3rd edition (December 1999) – PDF File
- Standard ECMA-262 ECMAScript Language Specification 5.1 edition (June 2011)
- Standard ECMA-262 ECMAScript Language Specification 6th edition (June 2015)
- Standard ECMA-262 ECMAScript Language Specification 7th edition (June 2016)
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:
What would you guys choose?
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.
Thanks Rey. Do any of these books discuss ways to architect applications that use some library as a base?
Some skim over the topic but generally focus on the language itself.
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.
Updated in your honor. Refresh and check it out. :)
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.
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.
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.
Thanks! Glad you’re finding JSMentors helpful as well. :)
I would definitely recommend the two books by Stoyan Stefanov:
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.
The HTML5 spec  is also a valuable resource, because it defines many new interfaces.
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.
I wouldn’t be doing my job if I didn’t recommend..
And yes, this post is going in today’s edition for sure :-)
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.
I’ve found Rebecca Murphey’s blog and her jQuery Fundamentals online book very helpful, too:
Excellent! Glad the list helped. :)
Is there any possibility of making Script Junkie’s RSS feed to have the full article?
Hey Jake. Let me see what I can do. :)
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.
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.
Same here Owen. I’m sure some publisher already has a Node or Narwhal book in the works. Can’t wait.
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.
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.
Thanks for the list Rey! I’m currently reading both the pragmatic guide and the object oriented books and they’re both pretty good.
My pleasure. Glad you liked the list. :)
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:
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.
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.
Thanks Michael. I tried to keep the post manageable which is why I didn’t list out podcasts.
Another great resource on spanish would be:
We hope that will be useful for the spanish audience.
Love the list! Do you have an recommendations for someone with HTML/CSS experience but no programming experience?
Hey, you missed me off the list of blogs! [joking]
Is the list kept current? Anything to add to the list?
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.
Rey did you updated the list?
Comments are closed.