Courses
I’ve recorded a couple of video courses about JavaScript and TypeScript, all of which are available on egghead.io. Grab a hot beverage and level up today!
 
  Advanced TypeScript Fundamentals
A deep dive into the fundamnetals 
of TypeScript’s type system. Learn about the optional chaining (?.) and nullish coalescing (??) operators, assertion
          functions, truly private class fields, conditional types, template
          literal types,  adn more.
 
  JavaScript Promises in Depth
ES2015 brought a native Promise implementation to the JavaScript
          standard library. In this course, we’re going to take an in-depth
          look at how to use promises to model asynchronous operations in JavaScript.
 
  Understand JavaScript’s this Keyword in Depth
JavaScript’s this keyword is a source of confusion for
          many new and experienced developers alike. It can be frustrating if this doesn’t point to the context that was intended. This course will
          help you understand JavaScript’s this mechanism in depth.
 
  Advanced Static Types in TypeScript
This course explores the capabilities of TypeScript’s type system and shows how to use advanced static types in practice.
 
  Asynchronous JavaScript with async/await
In this course we will learn how to use the ES2017  async and await keywords to write asynchronous
          code that is more readable and easier to follow than equivalent code based
          on long promise chains or deeply nested callbacks.
