Papers & Presentations

Atoms frequently share what they know in journals, at conferences, and in classrooms.

Understanding TypeScript's Structural Type System

Presented by
Presented at
Strange Loop
September 1, 2018
Additional Presentations:
Written in
Strange Loop
September 2018

I was wrong. I thought TypeScript was something like a Java-ey type system layered atop JavaScript, bringing a dose of brittleness and losing the flexibility I appreciated about the warty-yet-ubiquitous multi-paradigm language.

But that's not it at all! TypeScript radically improves the JavaScript development experience by providing a flexible, light-weight type system for modern EcmaScript. It does so while maintaining a delicate balance: adding a way to enforce assumptions and invariants without removing the flexibility prized by dynamic language developers. This works because TypeScript's type system is structural and not nominal - that is, based on shapes of data instead of identities of types.