TypeScript Programming Lessons

Choose your path and start learning TypeScript programming step by step.

intermediate

Interfaces and Types

Master the differences between interfaces and type aliases, extending, intersection types, and declaration merging

22 min read
1 prerequisites

Generics

Write reusable, type-safe code with generic functions, interfaces, classes, and constraints

25 min read
1 prerequisites

Modules

Organize your code with ES modules, named and default exports, re-exports, and barrel files

20 min read
1 prerequisites

Error Handling

Learn robust error handling with try/catch, custom error classes, the Result pattern, and type narrowing

20 min read
1 prerequisites

Utility Types

Master TypeScript's built-in utility types like Partial, Pick, Omit, Record, and mapped types

22 min read
1 prerequisites

Type Narrowing

Learn how TypeScript narrows union types using typeof, instanceof, in, discriminated unions, and user-defined type guards

25 min read
2 prerequisites

Classes And OOP

Learn how to model real-world concepts using TypeScript classes, constructors, inheritance, access modifiers, and interfaces

28 min read
3 prerequisites

Async TypeScript

Master asynchronous programming in TypeScript using Promises, async/await, and typed error handling to write non-blocking, readable code

27 min read
3 prerequisites

Type-Safe APIs

Learn how to model API responses, build generic fetch wrappers, and handle errors safely using TypeScript's type system — so your data contracts are enforced at compile time, not discovered at runtime

25 min read
4 prerequisites

Debugging TypeScript

Learn how to read TypeScript error messages, use the type system as a debugging tool, write exhaustiveness checks with never, and apply practical runtime debugging techniques to catch bugs before they reach production

25 min read
4 prerequisites