About this course
This is a free, self-paced course in modern JavaScript, meaning ES2015 (ES6) and later, from strict mode and the equality rules through classes, promises, and the DOM. It teaches the language as the current ECMAScript specification defines it and skips the legacy quirks you only need when maintaining old code. The final chapter is a set of fixes for the errors beginners hit most often, such as "Cannot use import statement outside a module".
Most lessons were run in Node.js before publishing, and each snippet is followed by a short note on what the console should print. That makes it easy to spot when your result differs, and to tell whether the cause is your code or a difference between Node.js and the browser. Lessons that need a page mark which snippets only work in a browser.
If JavaScript is new to you, start with strict mode and work through the chapters in order. If you already write it, jump to the arrays chapter, async and await, or DOM manipulation and events.

