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
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.