跪拜 Guibai
← All articles
JavaScript · Frontend · Programming Language

ES2026 Lands, Temporal Ships, and Decorators Get Demoted: The State of JavaScript Standards

By 清秋 ·
Read original on juejin.cn ↗ Google Translate ↗ Alt translation

The JavaScript specification process has matured to the point where 'browser support for ES20XX' is the wrong question. Features ship in engines first and enter the standard later, so tracking Stage 4 proposals and individual feature support is the only reliable way to know what you can use. The Decorators downgrade is a concrete warning that even Stage 3 proposals can stall indefinitely without engine vendor commitment.

Summary

The 17th edition of ECMA-262, better known as ES2026, was approved on June 30, 2026. Its seven features are all standard library gap-fills: `Map.getOrInsert`, `Iterator.concat`, native Base64/Hex for `Uint8Array`, `Math.sumPrecise`, `Error.isError`, `Array.fromAsync`, and a JSON.parse reviver that can access raw source text to prevent large integer precision loss. No syntax changes made the cut this year.

Beyond the spec, the standards landscape shifted dramatically. Temporal, the long-awaited `Date` replacement, reached Stage 4 in March but missed the ES2026 cutoff and is now slated for ES2027—though Firefox and Chrome already ship it. Decorators, stuck at Stage 3 for four years without a single native browser implementation, were demoted back to Stage 2.7. Records & Tuples were formally withdrawn and replaced by the Composites proposal.

Ecma's membership roster also saw a shakeup. NVIDIA and AMD joined, likely drawn by the new HLSL shader language committee (TC57) rather than JavaScript. ByteDance exited after four years of membership with zero recorded TC39 participation. The total member count hit a record 92.

Takeaways
ES2026 adds seven standard library features: `Map.getOrInsert`/`getOrInsertComputed`, `Iterator.concat`, native Base64/Hex for `Uint8Array`, `Math.sumPrecise`, `Error.isError`, `Array.fromAsync`, and JSON.parse source text access.
Temporal reached Stage 4 in March 2026 after nine years and is already enabled by default in Firefox 139+ and Chrome 144+; it will be part of ES2027.
Decorators were demoted from Stage 3 to Stage 2.7 in May 2026 after four years without a native browser implementation.
Records & Tuples (`#{}` / `#[]`) were officially withdrawn in April 2025 and replaced by the Composites proposal at Stage 1.
NVIDIA and AMD joined Ecma in 2026, likely for the new HLSL shader language committee (TC57), not for JavaScript.
ByteDance exited Ecma membership after four years with zero recorded TC39 speeches, proposals, or sign-ins.
Ecma published a full NLIP (Natural Language Interaction Protocol) standards suite in December 2025, ECMA-430 through 434.
`Atomics.pause()` lost its iteration count parameter before reaching Stage 4; the final API is parameterless.
`Iterator.includes` jumped from Stage 1 to Stage 3 in about three months, making it the fastest-rising proposal of 2026.
Ecma membership now totals 92 organizations, up from roughly 70 in 2021.
Conclusions

Feature standardization now trails engine implementation so consistently that the spec is effectively a ratification of what browsers already ship. `Array.fromAsync` was usable in all three major engines by 2023 but only entered the spec in 2026.

The Decorators downgrade exposes a hard truth about the TC39 process: Stage 3 means nothing without at least two engine vendors willing to implement. Four years of stasis and a demotion is a structural failure, not a technical one.

Hardware vendors joining a standards body historically associated with JavaScript is a leading indicator of where Ecma's center of gravity is shifting—toward GPU shading languages, AI agent protocols, and software supply chain standards.

ByteDance's silent exit after four years of zero participation illustrates that membership fees buy a seat but not influence. Alibaba's Error Cause proposal reaching ES2022 and Huawei's Ordinary member voting rights show that actual standards impact requires sustained, in-person committee work.

The addition of Stage 2.7 in 2023 was meant to increase certainty, but the Decorators demotion proves it can also function as a waiting room for proposals that engine vendors are unwilling to commit to.

JavaScript's standard library is catching up to patterns that other languages have had for decades: `Map.getOrInsert` mirrors Python's `setdefault` from 1990, and `RegExp.escape` took ten years to match what Perl and Python shipped in the early 2000s.

Concepts & terms
TC39
Technical Committee 39, the Ecma committee responsible for developing the ECMAScript standard. Composed of representatives from Ecma member organizations, primarily browser vendors.
Stage 4
The final stage in the TC39 proposal process. A feature at Stage 4 has a finished specification, two compatible engine implementations, and passing test262 tests. It will be included in the next annual ECMAScript release.
Stage 2.7
A stage added to the TC39 process in November 2023, sitting between Stage 2 (Draft) and Stage 3 (Candidate). The specification is frozen at this point, and the focus shifts to writing tests and gathering implementation feedback.
Temporal
A new date/time API for JavaScript intended to replace the legacy `Date` object. It provides immutable objects, explicit time zone and calendar support, and nanosecond precision. Reached Stage 4 in March 2026 and will be part of ES2027.
NLIP
Natural Language Interaction Protocol, a suite of Ecma standards (ECMA-430 through 434) published in December 2025 for standardizing communication between AI agents using natural language.
Realm (in JavaScript)
A distinct execution context with its own global object and set of built-in constructors. Cross-realm scenarios (iframes, Workers, Node.js `vm` modules) cause `instanceof` checks to fail because each realm has its own copy of built-in prototypes.
Source: juejin.cn ↗ Google Translate ↗ Backup ↗