Skip to main content Accessibility Feedback

Learning JavaScript

Based on feedback from my readers and changes in the JavaScript space over the last year, I’m giving my pocket guide series a complete refresh.

My goal is to make vanilla JavaScript even easier to learn, and set you up for the future of the industry. Here’s what I have planned.

ES6 #

Right now, my guides are written entirely in ES5, which provides excellent backwards compatibility and doesn’t require you to use any module bundlers or precompile your code.

But, thanks to polyfills, it’s now really easy to run ES6 natively and still provide great backwards support—back to IE7 if you want!

I’ll be adding modern ES6 methods and techniques to all of my guides, and will include relevant polyfills to maintain support back to at least IE9.

Update: All of the guides have now been updated with ES6 support and polyfills for backwards compatibility.

New Guides #

I have 5 new guides planned.

  1. Variables, Functions, and Scope will cover things like arrow functions, var myFunction = function () {} vs function myFunction () {}, and how to scope your code.
  2. Feature Tests & Polyfills is a complete rewrite of Bugs & Browser Quirks, focused on feature tests, browser compatibility, fallbacks when appropriate, and where to find polyfills and how to use them.
  3. Building Your Own Microlibrary will teach you how to build tiny libraries with the polyfills and helper functions you use the most.
  4. Web Apps with Vanilla JS is launching in the next week or two, and will teach you how to write JavaScript web apps without a framework. (Update: now available!)
  5. JavaScript Accessibility details how to make sure our code is as accessible to as wide a group of people as possible.

I’ll also be writing a free guide, Vanilla JavaScript Essentials, for people who are completely new to JS. It will cover basic terminology and definitions, how to use developer tools and console.log(), and how to pick a good code editor.

A learning path #

One of the biggest pieces of feedback I’ve gotten about my guides is that it’s difficult to know where to start.

With that in mind, the pocket guides are getting numbered to imply a learning path.

You’re free, of course, to skip around as you see fit. But if you’re just starting out, I think there’s a preferred, progressive way to work through the guides.

New Bundles #

With the growing collection of guides, I’ll be adding a new tier—the Pro Bundle—and adjusting the content of some of the existing ones.

If you already own one of the bundles, don’t worry. You’ll continue to have access to all of your guides and any future updates, even if the bundle changes a bit.

New branding #

All of the guides will also be getting updated branding and colors. They’ll be nicer to look at! Here’s a sneak peak.

Maybe: project-based guides #

I know some people learn best by doing, so I’m toying with the idea of project-based guides that toss you straight into a guided project.

These would skip discussing core concepts, and be a great way to reinforce the core skills you learn in the main pocket guides.

I’d love to hear any feedback, questions, or concerns you have about these changes.


🔥 Hot off the press! I just launched a new pocket guide. Learn about ES6 arrow functions, let and const, function hoisting, and more.

Have any questions or comments about this post? Email me at chris@gomakethings.com or contact me on Twitter at @ChrisFerdinandi.

Get Daily Developer Tips