TypeScript Fundamentals
A structured, self-paced course in TypeScript for developers
What you'll learn
This course takes you from zero TypeScript to building complete, well-structured projects. Each module builds on the last, with hands-on code examples you can run immediately.
- TypeScript's type system โ primitives, arrays, tuples, objects, unions, intersections
- Functions, classes, interfaces, and generics with full type safety
- Advanced patterns: type narrowing, discriminated unions, utility types
- Async/await, error handling, and working with JSON and APIs
- Real-world tooling: npm, tsconfig.json, testing with Vitest
- Decorators, mapped types, conditional types, and template literal types
- A complete capstone project tying all 20 modules together
Crash Course
The top 10% of the course in one sitting
Skim the essentials, then dive deeper where it matters.
โ
Flashcards
Drill the full question bank
Spaced-repetition memory across every module quiz.
โ
Self-Study Modules
Typed Basics
Module 0 Typed Basics
What Is TypeScript
Module 1 Typed Basics
Variables and Types
Module 2 Typed Basics
Arrays, Tuples, and Objects
Module 3 Typed Basics
Functions and Type Signatures
Module 4 Typed Basics
Control Flow
Composing Types
Module 5 Composing Types
Type Aliases and Unions
Module 6 Composing Types
Interfaces
Module 7 Composing Types
Classes
Module 8 Composing Types
Generics
Module 9 Composing Types
Enums and Utility Types
Real-World Code
Module 10 Real-World Code
Type Narrowing
Module 11 Real-World Code
Modules and Imports
Module 12 Real-World Code
Async/Await and Promises
Module 13 Real-World Code
Error Handling
Module 14 Real-World Code
JSON and APIs
Project Toolchain
Module 15 Project Toolchain
npm and Package Management
Module 16 Project Toolchain
tsconfig and Build Configuration
Module 17 Project Toolchain
Testing with Vitest
Module 18 Project Toolchain
Decorators and Advanced Patterns
Module 19 Project Toolchain
Capstone: Task Tracker CLI
Your Practice Path
After Modules 0-4: You can write typed functions, arrays, and control flow After Modules 5-9: You can model complex data with interfaces, generics, and utility types After Modules 10-14: You can handle async code, errors, and external data safely After Modules 15-19: You can set up, test, and structure a complete TypeScript project