Time to publish my small but also heavily curated collection of useful links for JavaScript.
MDN JavaScript – this is the best thing going for JS language reference. I wish we could backfill a decade of useful programmer comments like in the PHP manual, and you should search it with Google rather than its internal search function (just add MDN to your search term), but it is quite clear and includes browser support data.
jQuery Documentation – if you use jQuery, this is the place to see not only syntax and examples for its commands but whether they are current, present but deprecated, or absent from your version of jQuery.
MDN Web APIs – if your JavaScript is doing anything deep, you’ll find need for these. I would highlight DOM (especially Window) and Storage (as in localStorage and sessionStorage) in particular. Same caveat as before, though: MDN is far easier to search via Google.
Esprima Syntax Validator – a useful syntax checker! It won’t give you twenty spacing errors and then quit; it only worries about things that actually affect the validity of your code. This is the only JS syntax checker that has successfully improved my code, by finding missing or stray braces and similar.
Google Closure Compiler – this will concatenate and minify your JavaScript, which you can enter by directly pasting it in or by link.
CodePen and JSfiddle – these are both easy ways to share small programs and allow people to edit them.
Lynda.com – There are a lot of JS classes on Lynda.com, of variable type and quality, so I’ll just highlight a few. If you’ve programmed before, even if long ago and far away (and mostly in C++, which was my condition), Joe Chellman’s Introducing the JavaScript Language will be helpful. It’s a syntax course that highlights some potential gotchas where JS differs from other common languages. Joe also has project-based “for designers” courses in JavaScript and jQuery. Of course none of these courses is comprehensive, but I like Joe as an instructor because a) he warns you when there’s more complexity than he’s covering or when the value he’s using is design-specific or arbitrary, and b) his project courses have exercises. They are quick but they force you to immediately use what you just learned, which immensely improves the takeaway.
You can consider this the JavaScript follow-up to my posts about learning HTML, CSS, and PHP online. After doing the Lynda classes mentioned and other tutorials there and elsewhere that are less recommendable, I learned “episodically” – my initial use for JS was for small, self-contained programs that did one or two things, and I built up from there. It suited my learning style nicely but didn’t lend itself to a list of helpful tutorial links for others.
Library photo by jenikmichal on Pixabay.