Basic Guide to TypeScript
- Lesson 01: What is TypeScript and Why Use It
- Lesson 02: Setting Up TypeScript in Your Project
- Lesson 03: Basic Types and Type Annotations
- Lesson 04: Functions and Type Inference
- Lesson 05: Objects, Interfaces, and Optional Properties
- Lesson 06: Arrays, Tuples, and readonly
- Lesson 07: Union, Intersection, and Literal Types
- Lesson 08: Type Aliases vs Interfaces
- Lesson 09: Working with Enums
- Lesson 10: Type Assertions and Type Casting
Advanced Guide to TypeScript
- Lesson 11: Generics in Functions and Interfaces
- Lesson 12: Generic Constraints and Default Types
- Lesson 13: Utility Types: Partial, Pick, Omit, and Record
- Lesson 14: Mapped Types and Keyof
- Lesson 15: Conditional Types and Infer Keyword
- Lesson 16: Template Literal Types and String Manipulation
- Lesson 17: Discriminated Unions and Exhaustiveness Checking
- Lesson 18: Declaration Merging and Module Augmentation
- Lesson 19: Advanced Types with Function Overloading
- Lesson 20: Type Guards, Predicates, and Custom Narrowing
Practical Guide to TypeScript
- Lesson 21: Using TypeScript in a React Project
- Lesson 22: Using TypeScript with Node.js and Express
- Lesson 23: Defining API Schemas with Zod and TypeScript
- Lesson 24: Integrating TypeScript with Zustand or Redux
- Lesson 25: Error Handling Patterns with TypeScript
- Lesson 26: Type-safe Forms and Validation
- Lesson 27: Migrating a JavaScript Project to TypeScript
- Lesson 28: Testing TypeScript Code with Vitest and Jest
- Lesson 29: Improving DX with tsconfig and Path Aliases
- Lesson 30: TypeScript Tips, Myths, and Best Practices