
Workshop: 2 days
Practical TypeScript
Workshop description
TypeScript has become the de facto standard for building scalable JavaScript applications, offering powerful type safety and developer experience improvements. This workshop takes you from the fundamentals of TypeScript to advanced patterns and techniques used in production applications. Whether you're new to TypeScript or looking to deepen your understanding of advanced features like generics, conditional types, and branded types, this workshop provides comprehensive coverage with practical, hands-on exercises.
TypeScript Fundamentals
We'll start with understanding what TypeScript is and why it's valuable, covering basic syntax, type annotations, and the development workflow with TypeScript tooling.
Basic Types and Type System
Deep dive into TypeScript's type system including primitives, objects, arrays, functions, and classes. We'll cover type inference and when explicit annotations are needed.
Unions and Type Narrowing
Learn to combine types with unions, work with literal types and template literals, and master type narrowing techniques including type guards and discriminated unions.
Intersections and Interfaces
Understand type intersections, the differences between types and interfaces, interface merging, and best practices for structuring complex type definitions.
Utility Types and Dynamic Keys
Explore TypeScript's built-in utility types like Pick
, Omit
, Partial
, and Record
. Learn to work with dynamic object keys and index signatures.
Classes and Object-Oriented Features
Cover TypeScript's class syntax, constructor shortcuts, access modifiers, inheritance, and TypeScript-specific features like parameter properties and enums.
Advanced Type Manipulation
Master keyof
, typeof
, index access types, and techniques for deriving types from existing structures to build more maintainable codebases.
Generics and Generic Constraints
Learn to write reusable, type-safe code with generics, including generic functions, constraints, default type parameters, and advanced patterns like mapped types.
Conditional Types and Advanced Patterns
Explore conditional types, the infer
keyword, branded types, and advanced TypeScript patterns used in real-world applications and popular libraries.
Configuration and Best Practices
Review TypeScript configuration options, declaration files, JSDoc integration, and best practices for organizing and maintaining TypeScript projects at scale.