Modern JavaScript

JavaScript is flexible enough to do just about anything, and while this is one of its great strengths, it's also what makes best practices less clear. This deep dive into the fundamentals and latest advances in the language will help you learn how to make the most of it!

Modern JavaScript

Stage One Modules, Functions and Types

Mastering the fundamentals of JavaScript pays huge dividends, as we start diving into the language features that are slightly newer and more complex.

  • Duration: 270 minutes
Schedule

Stage Two Working with Data

We'll dive deep into JavaScript data structures and control flow, touching on some new concepts and some old ones that you probably haven't used in a while.

  • Duration: 185 minutes
Schedule

Stage Three Handling Asynchrony

JavaScript's internal event loop and the fact that all the code we write is "non-blocking" allows it to keep track of tons asynchronous processes while still operating on a single thread. We'll look at some low-level patterns for managing asynchrony and concurrency, then build all the way up to modern language features like async and await.

  • Duration: 300 minutes
Schedule

Stage Four Advanced Data Structures

With the ES2015 version of the JavaScript specification came several new data structures like Map, Set, WeakMap, WeakSet and Proxy. We’ll look at the motivations for adding these features to the language and get hands-on experience solving some problems that would be much more difficult were it not for these new constructs.

  • Duration: 165 minutes
Schedule

Stage Five Classes

The controversy around class stems from the illusion of removing prototypal inheritance from JavaScript. It is, in fact, just syntactic sugar on top of the same prototypes we’ve been using all along. However, in removing some of the noise that typically accompanies object-oriented JavaScript, and in making some typical traps more difficult to fall into, using classes can result in more readable and robust code.

  • Duration: 275 minutes
Schedule

Stage Six Performance & Tooling

Improved performance almost always correlates to improvements in key business metrics. We’ll look at JavaScript performance from all angles, including shrinking and simplifying your production builds, figuring out when your code is de-optimized in modern javascript runtimes and more!

  • Duration: 205 minutes
Schedule