Records & Tuples are coming: the next exciting JavaScript feature
summary
Proposal adds two new immutable primitives that are compared by contents using deep equality with ===, not by reference, and can serve as Map/Set keys; they only contain primitives so objects require a boxed-symbol shim backed by weak maps. Languages-level support pairs with a child spec, change-array-by-copy methods, to give non‑mutating array ops. Babel and es‑shims polyfills enable experimentation now, while weak‑map semantics and weak keys remain unpolyfillable until engine implementations reach stage 3.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:36Records and tuples in JS
- 2:24Immutability in JavaScript
- 8:07Records and tuples as primitives
- 13:14Updating records and tuples
- 16:48Objects in records and tuples
- 21:21Symbols as weak map keys
- 24:16Using records and tuples today
- 26:45Live demo and playground
- 27:08Q&A
related talks
29mRecords & Tuples Are Coming: The Next Exciting JavaScript Feature
24mThe Next Exciting JavaScript Feature: Records & Tuples
53mThings You Don't Know About JavaScript in 2023
45mJavaScript Immutability - "Don't Go Changing"
31mSo, what’s new in ES2025?
31mBack to the future of JS: the next features and amazing proposals
25mFuture JavaScript: what is still missing?
29mThe Immutable Way: A Guide to Cleaner, More Predictable JavaScript
