TypeScript, Intermediate: Unions, Guards, Generics & Utility Types
The next layer of TypeScript — discriminated unions, custom type guards and exhaustiveness with never, generic constraints and defaults, keyof and indexed-access types, typeof and as const, the built-in utility types, satisfies, enums vs literal unions, and classes — with hands-on exercises and solutions.