All roadmaps

The TypeScript roadmap

Every TypeScript lesson we teach, laid out as one path. Each station is a stage; tap any lesson to open it. Stations turn teal as you finish them.

Legend:Lesson stageStage completeTap a lesson to open it
01

Core Type Primitives

Primitive Types
any vs unknown
The never Type
The void Type
Arrays & Tuples
Objects & Interfaces
Enums vs Const Objects
Nullish Values & !
Literal Types
02

Type Operators & Flow Analysis

Union Types
Intersection Types
The typeof Operator
The keyof Operator
Control Flow & Type Guards
Type Predicates (is)
Assertion Functions (asserts)
Discriminated Unions
03

Functions & Callables

Typing Functions
Function Overloads
Typing Promises & Async
Function Variance
The this Parameter
04

Generics

Basic Generics
Generic Constraints
Multiple Generics & Defaults
Const Type Parameters
05

Advanced Type Manipulation

Indexed Access Types
Conditional Types
The infer Keyword
Mapped Types
Key Remapping (as)
Template Literal Types
Intrinsic String Types
Recursive Types
06

Utility Types & Modifiers

as const & readonly
Partial & Required
The Record Type
Pick & Omit
Exclude & Extract
Parameters & ReturnType
The Awaited Type
07

Object-Oriented & Metadata

Classes & Visibility
Parameter Properties
Abstract Classes & Methods
Modern Decorators
08

Architecture & Config

Modules vs Namespaces
tsconfig Compiler Flags
Module Resolution
Declaration Files (.d.ts)
09

React & DOM Ecosystem

Typing the DOM
React Component Typing
React Hooks Typing
React Event Handlers
The satisfies Operator