Getting Started
  • Welcome to the Course!
  • What Is TypeScript & Why Should You Use It?
  • Join Our Learning Community
  • Installing & Using TypeScript
  • TypeScript Advantages - Overview
  • Course Outline
  • How To Get The Most Out Of The Course
  • Setting Up A Code Editor / IDE
  • The Course Project Setup
TypeScript Basics & Basic Types
  • Module Introduction
  • Using Types
  • TypeScript Types vs JavaScript Types
  • Important: Type Casing
  • Working with Numbers, Strings & Booleans
  • Type Assignment & Type Inference
  • Understanding Types
  • Object Types
  • Nested Objects & Types
  • Arrays Types
  • Working with Tuples
  • Working with Enums
  • The "any" Type
  • Union Types
  • Literal Types
  • Type Aliases / Custom Types
  • Type Aliases & Object Types
  • Core Types & Concepts
  • Function Return Types & "void"
  • Functions as Types
  • Function Types & Callbacks
  • Functions & Types
  • The "unknown" Type
  • The "never" Type
  • Wrap Up
  • Useful Resources & Links
The TypeScript Compiler (and its Configuration)
  • Module Introduction
  • Using "Watch Mode"
  • Compiling the Entire Project / Multiple Files
  • Including & Excluding Files
  • Setting a Compilation Target
  • Understanding TypeScript Core Libs
  • More Configuration & Compilation Options
  • Working with Source Maps
  • rootDir and outDir
  • Stop Emitting Files on Compilation Errors
  • Strict Compilation
  • Code Quality Options
  • Debugging with Visual Studio Code
  • Wrap Up
  • Useful Resources & Links
Next-generation JavaScript & TypeScript
  • Module Introduction
  • "let" and "const"
  • Arrow Functions
  • Default Function Parameters
  • The Spread Operator (...)
  • Rest Parameters
  • Array & Object Destructuring
  • How Code Gets Compiled & Wrap Up
  • Useful Resources & Links
Classes & Interfaces
  • Module Introduction
  • What are Classes?
  • Creating a First Class
  • Compiling to JavaScript
  • Constructor Functions & The "this" Keyword
  • "private" and "public" Access Modifiers
  • Shorthand Initialization
  • "readonly" Properties
  • Class Basics
  • Inheritance
  • Overriding Properties & The "protected" Modifier
  • Getters & Setters
  • Static Methods & Properties
  • Abstract Classes
  • Singletons & Private Constructors
  • Classes - A Summary
  • Classes
  • A First Interface
  • Using Interfaces with Classes
  • Why Interfaces?
  • Readonly Interface Properties
  • Extending Interfaces
  • Interfaces as Function Types
  • Optional Parameters & Properties
  • Compiling Interfaces to JavaScript
  • Interfaces
  • Wrap Up
  • Useful Resources & Links
Advanced Types
  • Module Introduction
  • Intersection Types
  • More on Type Guards
  • Discriminated Unions
  • Type Casting
  • Index Properties
  • Function Overloads