Note that I'm only listing books that I've read and can recommend. There are a ton of books out there that you may find equally great and that's cool.
We all want our code to run fast so we tweak and refactor constantly. Learning by the school of hard knocks is cool but I prefer to have a resource based on someone's previous experiences to build from. This book aims to teach you about those tweaks that can help optimize the performance of your code. Whether it's improving loop performance or working with timers to improve UI responsiveness, this book covers it.
When I first read about this book, I wasn't 100% sure I wanted to get it. I figured it was a rehash of other books I've read but when I saw that Alex Russell of Dojo and Chrome Frame fame recommended it, I scooped it up. I'm really glad I did.
Dave is Mozilla's TC39 rep and an expert in the language both at an academic and pragmatic level. The book is great because it's not so much about the JS language as it is about using the language in the best way possible. It works to clarify how specific parts of the language work (e.g.: coercion, currying or automatic semicolon insertion) so that it doesn't bite you later on. This is definitely a book for those wanting to take their level of JS understanding to the next level.
I realize that many of us are on a tight budget and free is always a great choice. Luckily I found a site that can point you to free resources. The site, JSbooks, was created by Revolunet and offers placeholders to several quality online references such as:
And a whole lot more. And no, these aren't pilfered ebooks you find on scam sites. The icons simply point to established and publicly available resources acting as a directory instead of a host.
There's so many people sharing great content and it's incredibly hard to filter out which ones to keep up with. As my experience has grown, I've worked to narrow down the blogs I read and I think these have really worked out well:
I remember when he first hit the scene; a brash, in your face type of dude learning the ropes and building a name. Since then David has worked hard to become a great developer contributing to the MooTools and Dojo frameworks and now working at Mozilla. He produces great articles that are immediately usable.
Another great news and tutorial site. Reminds me a lot of how Ajaxian used to be, in that it allows me to discover very cool libraries and new techniques to use.
This is the ONLY email newsletter that I keep in my inbox because every weekly issue is chock full of awesomeness. Seriously, I don't know how Peter Cooper does it but he manages to find so many great articles to read. Just be careful because it's a total productivity killer.
When you're ready to learn from the big boys, start by subscribing to Juriy's blog. He eats, drinks, and sleeps ECMAScript.
I've never met or spoken with Dr. Axel Rauschmayer but when I found his site I had a "holy crap this dude is sharp" moment. When you read his posts, you'll see why. They're DEEP, like into the bowels of ECMAScript deep. Really awesome stuff.
Yeah, yeah I'm biased but it seriously does have great stuff. You wouldn't be reading this if you didn't agree. :)
Taking a Class
When a book or blog won't do and you want to get your hands dirty, you now have a ton of courses, both offline and online, to get you up-to-speed:
I took this online course by Thomas Fuchs and Amy Hoy. So worth it, especially because the instructor is accessible for Q&A.
Bocoup Training (Online and Offline)
Bocoup has a great training program. They offer some online videos but the real value comes from attending their numerous training classes in person.
One of the hardest parts of learning any new programming language is getting support. You have questions and hope to be able to get answers.