Optional Chaining
4982
import()
1816
Async functions
1571
Rest/Spread Properties
1474
Nullish coalescing Operator
1220
Top-level await
1017
Asynchronous Iteration
843
BigInt
557
WeakRefs
386
Shared memory and atomics
366
globalThis
336
Error Cause
334
.at()
333
Object.fromEntries
317
Numeric separators
316
Promise.allSettled
313
Logical Assignment Operators
295
Promise.prototype.finally
279
String.prototype.replaceAll
247
RegExp named capture groups
221
Array.prototype.{flat,flatMap}
215
Intl.RelativeTimeFormat
213
Promise.any
196
Array.prototype.includes
146
import.meta
137
Accessible Object.prototype.hasOwnProperty
122
RegExp Unicode Property Escapes
121
Trailing commas in function parameter lists and calls
118
Intl.Segmenter: Unicode Segmentation in JavaScript
117
JSON superset
103
Class Static Block
100
String.prototype.matchAll
96
RegExp Lookbehind Assertions
94
s (dotAll) flag for regular expressions
89
Object.values/Object.entries
88
Exponentiation operator
87
Optional catch binding
87
String padding
70
Well-formed JSON.stringify
65
RegExp Match Indices
57
for-in mechanics
45
Intl.NumberFormat Unified API Proposal
45
Intl.DisplayNames
41
String.prototype.{trimStart,trimEnd}
39
Lifting template literal restriction
36
Ergonomic brand checks for Private Fields
32
Intl.Locale
32
DateTimeFormat dateStyle & timeStyle
27
Intl.DateFormat.prototype.formatRange
27
Intl.PluralRules
26
Intl.ListFormat
26
Object.getOwnPropertyDescriptors
25
Function.prototype.toString revision
25
Intl.DisplayNames v2
18
Intl.DateTimeFormat.prototype.formatToParts
16
Intl.NumberFormat.prototype.formatToParts
16
Symbol.prototype.description
13
Extend TimeZoneName Option Proposal
6
Pattern Matching
4014
Observable
2792
Partial application
941
Binary AST
879
Built In Modules (aka JS Standard Library)
825
do expressions
791
Slice notation
472
UUID
453
Operator overloading
355
First-class protocols
324
Getting last element of Array
304
export v from "mod"; statements
266
Number.range & BigInt.range
259
Asset References
249
Cancellation API
248
String.dedent
238
Decimal
231
Escaping Strings for RegExps
228
await operations
177
Block Params
164
Array filtering
162
SES (Secure EcmaScript)
151
JavaScript module fragments
148
Error stacks
140
Promise.try
130
Math.seededRandoms()
130
Collection methods
125
Array.prototype.unique()
112
Extensions
93
Emitter
88
"use module"
80
Fixed shape objects
78
ArrayBuffer to/from Base64
77
async do expressions
76
class Access Expressions
75
Generator arrow functions
72
Deep Path Properties in Record Literals
69
Extensible numeric literals
64
Declarations in Conditionals
62
Cryptographically Secure Random Number Generation
62
{BigInt,Number}.fromString
57
Object.freeze + Object.seal syntax
56
Array Equality
56
Maximally minimal mixins
55
defer module import eval
46
Math Extensions
43
Double-Ended Iterator and Destructuring
41
String.prototype.codePoints
38
Wavy Dot: Syntactic Support for Promise Pipelining
36
Compartments
35
of and from on collection constructors
34
Standardized Debug
30
IDL for ECMAScript
29
Richer Keys
27
Support for Distributed Promise Pipelining
27
String.cooked
26
Bind-this operator
26
Private declarations
24
Readonly Collections
24
Evaluator Attributes
24
Module Keys
23
Dynamic Modules
23
uniform parsing of quasi-standard Date.parse input
20
BigInt Math
19
Get Intrinsic
16
new.initialize
15
Grouped Accessors and Auto-Accessors
14
Freezing prototypes
13
String is USV String
13
Intl LocaleMatcher
12
Dynamic Code Brand Checks
11
Class Brand Checks
11
Modulus and Additional Integer Math
10
OOM Fails Fast
9
RegExp Extended Mode and Comments
9
Reverse iteration
8
Preserve Host Virtualizability
8
Restrict subclassing support in built-in methods
8
Smart Unit Preferences in Intl.NumberFormat
8
eraDisplay option for Intl.DateTimeFormat
7
Math.signbit: IEEE-754 sign bit
6
Limited ArrayBuffer
5
Legacy reflection features for functions in JavaScript
3
RegExp \R Escape
3
RegExp Buffer Boundaries (\A, \z, \Z)
3
RegExp Modifiers
2
Float16 on TypedArrays, DataView, Math.hfround
Async initialization