Leaky sieve of types: understanding subtype relationships in TypeScript
summary
Examines TypeScript’s type system gaps that can cause runtime bugs despite clean, compilation‑error‑free code by focusing on how TypeScript’s compatibility checks diverge from the mathematical notion of subtyping. Uses concrete examples to show where TypeScript’s implementation of subtyping differs from true subtyping and explains the practical risks those differences create for developers.
AI-written summary · about
chapters (6)
- 0:00Introduction
- 12:21Subtype relationships
- 20:55Type compatibility
- 31:25Covariance vs invariance
- 39:41Readonly limits
- 42:50Summary
related talks
01h 01mDeconstructing TypeScript’s Type System
01h 05mBusy TypeScript Developer’s Guide to Advanced TypeScript
21mLearning to Love Type Systems
38mUnderstanding TypeScript's Structural Type System
21mThe long-tail of type safety
21mBeyond Type Checking Building Bulletproof TypseScript Applications
22mSubtyping is Overrated
51mTypeScript - Beyond the Basics
