JavaScript (WIP)


This lesson provides reference resources to learn—or relearn—JavaScript as well as articles about several subtopics.

Learning Material

General JavaScript

  • MDN’s JavaScript Guide
  • Eloquent JavaScript provides a more thorough explanation of some topics but may be too basic for developers who are already experienced in other languages.

JavaScript Subtopics

  • If you thought the Python 2 to Python 3 transition was bad, you may not be thrilled to hear that there are several versions of “modern” JS. ES-Everything: an ECMA Explainer describes how versions are identified (ES5, ES2015, ESNext, etc.) as well as the associated technologies (transpilers, polyfills, etc.) that allow JS code written today to run on browsers that were released nearly a decade ago.
  • You Don’t Know JS: this & Object Prototypes is an excellent explanation of this.
  • ECMAScript 6 — New Features: Overview & Comparison is a helpful reference for features introduced in ES6. If you learned an older dialect of JS, modern JS may not look very familiar. This reference can help familiarize you with many of the new features and updated syntax.


No problems are written for this lesson yet.

Continuous Lesson Improvement

Please help us make these lessons as relevant and up-to-date for future engineers as possible!

You can help in several ways:

  • Shorten or clarify the writing. We're all busy and less is more.
  • Ask if the purpose of the lesson is unclear. We want all of the lessons to seem useful.
  • Remove exercises or learning material that aren't useful.
  • Add more exercises, exercise answers, or learning material as appropriate.

You can quickly open the lesson page in the GitHub editor. Create a new branch and pull request and assign it to David.