https://egghead.io/courses/use-types-effectively-in-typescript
TypeScripts purpose, the reason it exists, is to add a solid type system on top of ECMAScript 6+. JavaScript is a dynamically typed language. TypeScript applies a fundamental change to the language and applies static typing to the code in our applications.
This course will dive into the type system that TypeScript provides. You will gain a deeper understanding of what types can do for your applications.
1 01:39 Introduction to Static Typing
2 02:52 Using Type Inference in TypeScript
3 05:01 Union Types and Type Aliases in TypeScript
4 02:02 Distinguishing between types of Strings in TypeScript
5 03:32 Using Interfaces to Describe Types in TypeScript
6 04:00 Creating a Class in TypeScript
7 03:42 Sharing Class Behavior with Inheritance in TypeScript
8 02:09 Using Assertion to Convert Types in TypeScript
9 02:07 The Basics of Generics in TypeScript
10 02:52 Practical Generics in TypeScript