For JavaScript developers
TypeScript
Learn to describe your data with TypeScript and use the type system to make JavaScript code clearer.
Start with a lesson that meets you where you are.
Try questions to check what you understand.
Sign in to keep your practice progress together.
Lessons
19 of 55 topics have lessons available today. Choose any available lesson.
- 01
TypeScript Foundations
Read the lesson, then try the practice.
- 02
Getting Started
Read the lesson, then try the practice.
- 03
Core Operators
Read the lesson, then try the practice.
- 04
Type System Mastery
Read the lesson, then try the practice.
- 05
TypeScript Types
Read the lesson, then try the practice.
- 06
Type Inference & Combining
Read the lesson, then try the practice.
- 07
Type Narrowing
Read the lesson, then try the practice.
- 08
Functions & Interfaces
Read the lesson, then try the practice.
- 09
TypeScript Functions
Read the lesson, then try the practice.
- 10
TypeScript Interfaces
Read the lesson, then try the practice.
- 11
Object-Oriented TypeScript
Read the lesson, then try the practice.
- 12
TypeScript Classes
Read the lesson, then try the practice.
- 13
Inheritance & Polymorphism
Read the lesson, then try the practice.
- 14
Advanced TypeScript Features
Read the lesson, then try the practice.
- 15
TypeScript Generics
Read the lesson, then try the practice.
- 16
Decorators & Utility Types
Read the lesson, then try the practice.
- 17
Advanced Types & Modules
Read the lesson, then try the practice.
- 18
Mapped Types
Read the lesson, then try the practice.
- 19
Conditional Types
Read the lesson, then try the practice.
Topics without lessons yet
These are part of the outline. Lessons are not available for them yet.
- Introduction to TypeScript
- TypeScript Installation
- TypeScript Compilation
- TypeScript Operators
- Nullish Coalescing Operator
- Non-null Assertion Operator
- Primitive Data Types
- Object Types
- Type Assertions
- Type Inference
- Union Types
- Type Aliases
- Typeof Narrowing
- Instanceof Narrowing
- Type Predicates
- Function Types
- Function Overloading
- Rest Parameters
- Arrow Functions
- Interface Basics
- Interface with Classes
- Hybrid Types
- Constructor Parameters
- Access Modifiers
- Abstract Classes
- Class Inheritance
- Method Overriding
- Polymorphism
- Generic Functions
- Generic Classes
- Generic Constraints
- Class Decorators
- Property Decorators
- Utility Types
- Template Literal Types
- TypeScript Modules