Advanced TypeScript: Generics and Conditional Types
1h 10mAdvanced2025-05-06
Authors

Eve Porcello
Software Developer and Instructor
Course details
Dive into the world of advanced TypeScript features that will elevate your JavaScript development skills. In this course, software developer and instructor Eve Porcello explores powerful type features such as generics and conditional types, enabling you to create highly maintainable and scalable code bases. Discover methods to enforce immutability and type safety, from using built-in utility types to crafting custom ones. Learn how TypeScript's type inference can streamline your development process, enhancing code readability and preventing common errors. This course includes practical demonstrations to solidify your understanding, making each concept applicable to real-world scenarios. Enhance your ability to model safe type extraction, handle complex data structures, and utilize TypeScript’s powerful features for efficient and error-free coding. By the end of this course, you will be equipped to confidently implement and leverage TypeScript's advanced capabilities in your projects.
Skills covered
TypeScriptAdvancedProgramming LanguagesOpen SourceSoftware Development
Concepts
0. Introduction
- 01 - Powering up your TypeScript applications with generic and conditional types
- 02 - Configuring the TypeScript environment
1. Working with Generics
- 03 - Creating generic types
- 04 - Building generic functions
- 05 - Handling multiple parameters
- 06 - Working with constraints
- 07 - Building arrays
- 08 - Understanding partial types
- 09 - Enforcing immutability with readonly type
2. Transforming Existing Data with Types
- 10 - Working with intersection types
- 11 - Creating input and output generics
- 12 - Transforming data with generics
- 13 - Filtering countries with generics
- 14 - Building discriminated unions
- 15 - Creating notifications
3. Enhancing TypeScript Types with Conditionals
- 16 - Understanding conditional types
- 17 - Narrowing types
- 18 - Widening types
- 19 - Inferring types in conditional statements
- 20 - Building dynamic type utilities
- 21 - Challenge - Real-world conditionals
- 22 - Solution - Real-world conditionals
Conclusion
- 23 - Next steps