For AI agents: the complete documentation index is available at /tc39-atlas/en/llms.txt, the full documentation bundle is available at /tc39-atlas/en/llms-full.txt, and this page is available as Markdown at /tc39-atlas/en/proposals/index.md.
TC39 Atlas
Search
K
Weekly changes
All proposals
AI Agent
About
English
简体中文
English
Theme
Languages
English
简体中文
English
Menu
ON THIS PAGE
#
Proposal index
Copy Markdown
Tip
Browse by stage in the sidebar, or use full-text search in the top-right corner.
#
Stage 4 · 96
Proposal
Status
ECMAScript edition
.at()
Finished
ES2022
Accessible Object.prototype.hasOwnProperty
Finished
ES2022
Array find from last
Finished
ES2023
Array Grouping
Finished
ES2024
Array.fromAsync
Finished
ES2026
Array.prototype.{flat,flatMap}
Finished
ES2019
Array.prototype.includes
Finished
ES2016
ArrayBuffer transfer
Finished
ES2024
Async functions
Finished
ES2017
Asynchronous Iteration
Finished
ES2018
Atomics.pause
Finished
ES2027
Atomics.waitAsync
Finished
ES2024
BigInt
Finished
ES2020
Change Array by Copy
Finished
ES2023
Class Fields (Private instance methods and accessors, Class Public Instance Fields & Private Instance Fields, Static class fields and private static methods)
Finished
ES2022
Class Static Block
Finished
ES2022
DateTimeFormat dateStyle & timeStyle
Finished
ES2021
Duplicate named capture groups
Finished
ES2025
Ergonomic brand checks for Private Fields
Finished
ES2022
Error Cause
Finished
ES2022
Error.isError
Finished
ES2026
Explicit Resource Management
Finished
ES2027
Exponentiation operator
Finished
ES2016
Extend TimeZoneName Option Proposal
Finished
ES2022
Float16 on TypedArrays, DataView, Math.f16round
Finished
ES2025
for-in mechanics
Finished
ES2020
Function.prototype.toString revision
Finished
ES2019
globalThis
Finished
ES2020
Hashbang Grammar
Finished
ES2023
Import Attributes
Finished
ES2025
import.meta
Finished
ES2020
import()
Finished
ES2020
Intl Enumeration API
Finished
ES2022
Intl Era and MonthCode Proposal
Finished
ES2026
Intl Locale Info
Finished
ES2026
Intl.DateFormat.prototype.formatRange
Finished
ES2021
Intl.DateTimeFormat.prototype.formatToParts
Finished
ES2017
Intl.DisplayNames
Finished
ES2021
Intl.DisplayNames v2
Finished
ES2022
Intl.DurationFormat
Finished
ES2025
Intl.ListFormat
Finished
ES2021
Intl.Locale
Finished
ES2020
Intl.NumberFormat Unified API Proposal
Finished
ES2020
Intl.NumberFormat V3
Finished
ES2023
Intl.NumberFormat.prototype.formatToParts
Finished
ES2018
Intl.PluralRules
Finished
ES2018
Intl.RelativeTimeFormat
Finished
ES2020
Intl.Segmenter: Unicode Segmentation in JavaScript
Finished
ES2022
Iterator Sequencing
Finished
ES2026
Joint Iteration
Finished
ES2027
JSON Modules
Finished
ES2025
JSON superset
Finished
ES2019
JSON.parse source text access
Finished
ES2026
Lifting template literal restriction
Finished
ES2018
Logical Assignment Operators
Finished
ES2021
Math.sumPrecise
Finished
ES2026
New Set methods
Finished
ES2025
Nullish coalescing Operator
Finished
ES2020
Numeric separators
Finished
ES2021
Object.fromEntries
Finished
ES2019
Object.getOwnPropertyDescriptors
Finished
ES2017
Object.values/Object.entries
Finished
ES2017
Optional catch binding
Finished
ES2019
Optional Chaining
Finished
ES2020
Promise.allSettled
Finished
ES2020
Promise.any
Finished
ES2021
Promise.prototype.finally
Finished
ES2018
Promise.try
Finished
ES2025
Promise.withResolvers
Finished
ES2024
Redeclarable global eval-introduced vars
Finished
ES2025
RegExp Lookbehind Assertions
Finished
ES2018
RegExp Match Indices
Finished
ES2022
RegExp Modifiers
Finished
ES2025
RegExp named capture groups
Finished
ES2018
RegExp Unicode Property Escapes
Finished
ES2018
RegExp v flag with set notation + properties of strings
Finished
ES2024
RegExp.escape
Finished
ES2025
Resizable and growable ArrayBuffers
Finished
ES2024
Rest/Spread Properties
Finished
ES2018
s (dotAll) flag for regular expressions
Finished
ES2018
Shared memory and atomics
Finished
ES2017
String padding
Finished
ES2017
String.prototype.{trimStart,trimEnd}
Finished
ES2019
String.prototype.matchAll
Finished
ES2020
String.prototype.replaceAll
Finished
ES2021
Symbol.prototype.description
Finished
ES2019
Symbols as WeakMap keys
Finished
ES2023
Sync Iterator helpers
Finished
ES2025
Temporal
Finished
ES2027
Top-level await
Finished
ES2022
Trailing commas in function parameter lists and calls
Finished
ES2017
Uint8Array to/from Base64
Finished
ES2026
Upsert
Finished
ES2026
WeakRefs
Finished
ES2021
Well-formed JSON.stringify
Finished
ES2019
Well-Formed Unicode Strings
Finished
ES2024
#
Stage 3 · 13
Proposal
Status
ECMAScript edition
Await Dictionary
Active
—
Deferring Module Evaluation
Active
—
Dynamic Code Brand Checks
Active
—
Error Stack Accessor
Active
—
Import Text
Active
—
iterator chunking
Active
—
Iterator Includes
Active
—
Iterator Join
Active
—
Keep trailing zeros in Intl.NumberFormat and Intl.PluralRules
Active
—
Legacy RegExp features in JavaScript
Active
—
Non-extensible Applies to Private
Active
—
RegExp Buffer Boundaries (\A, \z, \Z)
Active
—
Source Phase Imports
Active
—
#
Stage 2.7 · 6
Proposal
Status
ECMAScript edition
Decorator Metadata
Active
—
Decorators
Active
—
ESM Phase Imports
Active
—
Immutable ArrayBuffers
Active
—
Import Bytes
Active
—
ShadowRealm
Active
—
#
Stage 2 · 29
Proposal
Status
ECMAScript edition
"Discard" (void) Bindings
Active
—
Amount
Active
—
Async Context
Active
—
Async Iterator helpers
Active
—
collection normalization
Active
—
Curtailing the power of "Thenables"
Active
—
Deferred Re-exports
Active
—
Destructure Private Fields
Active
—
Error code property
Active
—
Error.captureStackTrace
Active
—
Extractors
Active
—
Function implementation hiding
Active
—
function.sent metaproperty
Active
—
Fused Multiply-Add
Active
—
Iterator.range
Active
—
JSON.parseImmutable
Active
—
Math.clamp
Active
—
Module Declarations
Active
—
Module Expressions
Active
—
Native Promise Predicate
Active
—
Object.keysLength
Active
—
Pipeline Operator
Active
—
Propagate active ScriptOrModule with JobCallback Record
Active
—
SeededPRNG
Active
—
String.dedent
Active
—
Structs: Fixed Layout Objects and Some Synchronization Primitives
Active
—
Symbol Predicates
Active
—
Sync Imports
Active
—
throw expressions
Active
—
#
Stage 1 · 110
Proposal
Status
ECMAScript edition
{BigInt,Number}.fromString
Active
—
Alias Accessors
Active
—
Array Equality
Active
—
Array filtering
Active
—
Array.prototype.unique()
Active
—
Array.zip and Array.zipKeyed
Active
—
Asset References
Active
—
async do expressions
Active
—
Async initialization
Active
—
await operations
Active
—
Bigint from exponential
Active
—
BigInt Math
Active
—
Binary AST
Active
—
Block Params
Active
—
Built In Modules (aka JS Standard Library)
Active
—
Bulk-add array elements
Active
—
Call-this operator
Active
—
Cancellation API
Active
—
Change Number.parseInt/parseFloat to not coerce null/undefined/NaN (repo link TBD)
Active
—
class Access Expressions
Active
—
Class Brand Checks
Active
—
Class Method Parameter Decorators
Active
—
Collection methods
Active
—
Compare Strings by Codepoint
Active
—
Comparisons
Active
—
Compartments
Active
—
Composable Accessors via built-in decorators
Active
—
Composites
Active
—
Concurrency Control
Active
—
Cryptographically Secure Random Number Generation
Active
—
DataView get/set Uint8Clamped methods
Active
—
Decimal
Active
—
Declarations in Conditionals
Active
—
Deep Path Properties in Record Literals
Active
—
Disposable AsyncContext.Variable
Active
—
do expressions
Active
—
Double-Ended Iterator and Destructuring
Active
—
Dynamic Modules
Active
—
Emitter
Active
—
Enums
Active
—
eraDisplay option for Intl.DateTimeFormat
Active
—
Error option framesAbove
Active
—
Error option limit
Active
—
Error stacks
Active
—
export all from
Active
—
export v from "mod"; statements
Active
—
Extensions
Active
—
Faster Promise adoption
Active
—
First-class protocols
Active
—
Freezing prototypes
Active
—
Function and Object Literal Decorators
Active
—
Function Memoization
Active
—
Function once
Active
—
Get Intrinsic
Active
—
Grouped Accessors and Auto-Accessors
Active
—
IDL for ECMAScript
Active
—
Improved Escapes for Template Literals
Active
—
Inspector
Active
—
Iterator unique
Active
—
Legacy reflection features for functions in JavaScript
Active
—
Limited ArrayBuffer
Active
—
Linear Matching
Active
—
Locale Extensions
Active
—
Map get and delete
Active
—
Mass Proxy Revocation
Active
—
Maximally minimal mixins
Active
—
Module Global
Active
—
Module Keys
Active
—
Module sync assert
Active
—
Modulus and Additional Integer Math
Active
—
More Currency Display Choices
Active
—
More Random Functions
Active
—
Negated in and instanceof operators
Active
—
new.initialize
Active
—
Object pick/omit
Active
—
Object.freeze + Object.seal syntax
Active
—
Object.propertyCount
Active
—
Observable
Active
—
of and from on collection constructors
Active
—
OOM Fails Fast
Active
—
Optional chaining in assignment LHS
Active
—
Partial application
Active
—
Pattern Matching
Active
—
Policy Maps and Sets
Active
—
Preserve Host Virtualizability
Active
—
Private declarations
Active
—
Prototype pollution mitigation
Active
—
Readonly Collections
Active
—
RegExp \R Escape
Active
—
RegExp Atomic Operators
Active
—
RegExp Extended Mode and Comments
Active
—
Restrict subclassing support in built-in methods
Active
—
Reverse iteration
Active
—
Reversible string split
Active
—
Richer Keys
Active
—
SES (Secure EcmaScript)
Active
—
Signals
Active
—
Slice notation
Active
—
Stabilize
Active
—
Standardized Debug
Active
—
Strict Enforcement of 'using'
Active
—
String.cooked
Active
—
String.prototype.codePoints
Active
—
Support for Distributed Promise Pipelining
Active
—
Type Annotations
Active
—
TypedArray Concat
Active
—
TypedArray Find Within
Active
—
uniform parsing of quasi-standard Date.parse input
Active
—
Unordered Async Iterator Helpers
Active
—
Wavy Dot: Syntactic Support for Promise Pipelining
Active
—
#
Stage 0 · 16
Proposal
Status
ECMAScript edition
Additional metaproperties
Active
—
as destructuring patterns
Active
—
Catch Guard
Active
—
Defensible Classes
Active
—
Fix 9.2.3 LookupMatcher algorithm
Active
—
Function bind syntax
Active
—
Function expression decorators
Active
—
Intl.NumberFormat round option
Active
—
Method parameter decorators
Active
—
Nested import declarations
Active
—
Object Shorthand Improvements
Active
—
Orthogonal Classes
Active
—
Reflect.{isCallable,isConstructor}
Active
—
Relationships
Active
—
String trim characters
Active
—
Structured Clone
Active
—
#
Unstaged · 57
Proposal
Status
ECMAScript edition
"use module"
Inactive
—
[Stable Formatting] stable-formatting
Active
—
{Set,Map}.prototype.toJSON
Inactive
—
Annex B — HTML Attribute Event Handlers
Withdrawn
—
ArrayBuffer.prototype.transfer
Withdrawn
—
Blöcks
Withdrawn
—
Builtins.typeOf() and Builtins.is()
Withdrawn
—
Callable class constructors
Withdrawn
—
Cancelable Promises
Withdrawn
—
Date.parse fallback semantics
Inactive
—
Default Behaviours for some Intl APIs
Active
—
deprecated
Inactive
—
Distinguishing literal strings
Withdrawn
—
Dynamic Import Host Adjustment
Withdrawn
—
Dynamic Module Reform
Withdrawn
—
explore associating a unit with a number
Active
—
Extensible numeric literals
Withdrawn
—
from ... import
Inactive
—
Function helpers
Inactive
—
Function.pipe and flow
Withdrawn
—
Generator arrow functions
Withdrawn
—
Generic Comparison
Withdrawn
—
Getting last element of Array
Withdrawn
—
Improving iteration on Objects
Withdrawn
—
Intl Energy Units
Active
—
Intl LocaleMatcher
Active
—
Intl Sequence Units
Active
—
Intl.DateTimeFormat Alignment With Other Standards
Active
—
Intl.MessageFormat
Active
—
Intl.MessageResource
Active
—
Intl.Segmenter v2
Active
—
Intl.ZonedDateTimeFormat
Active
—
isTemplateObject
Withdrawn
—
JSON.tryParse
Inactive
—
Math Extensions
Withdrawn
—
Math.signbit: IEEE-754 sign bit
Withdrawn
—
Normative ICU Reference
Withdrawn
—
Object enumerables
Inactive
—
Object.shallowEqual
Withdrawn
—
Operator overloading
Withdrawn
—
Proposed Grammar change to ES Modules
Inactive
—
Record & Tuple
Withdrawn
—
RefCollection
Withdrawn
—
RegExp Atomic Groups & Possessive Quantifiers
Inactive
—
Sequence properties in Unicode property escapes
Withdrawn
—
SIMD.JS - SIMD APIs
Inactive
—
Smart Unit Preferences in Intl.NumberFormat
Active
—
String.prototype.at
Inactive
—
Symbol.thenable
Withdrawn
—
Tagged Collection Literals
Withdrawn
—
Typed Objects
Inactive
—
TypedArray stride parameter
Withdrawn
—
Unused Function Parameters
Inactive
—
Updates to Tail Calls to include an explicit syntactic opt-in
Inactive
—
UUID
Withdrawn
—
WeakRefs cleanupSome
Withdrawn
—
Zones
Withdrawn
—