Standardizing JavaScript Decorators in TC39
summary
Decorators started in 2014 and are now moving through TC39 with concrete changes: current legacy decorators (used by Babel and TypeScript) differ across tools and can slow startup — LinkedIn measures a real slowdown — so the proposal shifts to statically analyzable building blocks that support composition via register and wrap (and helpers like define element), plans a codemod to migrate @ syntax, prototyped in transpilers, and recommends sticking with legacy decorators until implementations and polyfills land.
AI-written summary · about
chapters (23)
- 0:00Introduction
- 0:47About Daniel Ehrenberg
- 1:36AsyncAwait
- 2:12Who is TC39
- 3:54Stages of TC39
- 5:02Whats New
- 6:07Optional Chaining
- 8:20Temporal
- 9:04Date Types
- 9:42RecordsTuples
- 10:34Web Components
- 14:40What are Decorators
- 16:40Standardizing Decorators
- 17:11Use Cases
- 17:50Implementation
- 18:54History of Decorators
- 24:37Language Level Issues
- 25:06Speed Concerns
- 28:01The Proposal
- 28:39Register
- 31:19Next steps
- 32:25Other small changes
- 33:57Getting involved
related talks
32mDemystifying TypeScript Decorators
46mDecorating JavaScript
48mFalling in love with decorators ES6/TypeScript
41mDecorators in Depth
31mStandardizing JavaScript - a Look at Ecma and TC39
11mWhat's cooking for JavaScript: a look at current TC39 proposals
48mWhat's New in JS and the Web
14mStandardaizing JavaScript: Call for PL researchers
