Optional Chaining
4984
import()
1812
Async functions
1571
Rest/Spread Properties
1475
Nullish coalescing Operator
1219
Top-level await
1014
Asynchronous Iteration
841
BigInt
557
WeakRefs
385
Shared memory and atomics
364
globalThis
336
Error Cause
334
.at()
326
Object.fromEntries
316
Numeric separators
315
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
212
Promise.any
196
Array.prototype.includes
145
import.meta
135
RegExp Unicode Property Escapes
120
Accessible Object.prototype.hasOwnProperty
120
Trailing commas in function parameter lists and calls
118
Intl.Segmenter: Unicode Segmentation in JavaScript
112
JSON superset
102
Class Static Block
99
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
33
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.DateTimeFormat.prototype.formatToParts
16
Intl.NumberFormat.prototype.formatToParts
16
Symbol.prototype.description
13
Pattern Matching
3979
Observable
2785
Partial application
940
Binary AST
879
Built In Modules (aka JS Standard Library)
825
do expressions
781
Slice notation
472
UUID
454
Operator overloading
349
First-class protocols
323
Getting last element of Array
303
export v from "mod"; statements
265
Asset References
249
Cancellation API
248
Number.range & BigInt.range
248
String.dedent
234
Decimal
229
Escaping Strings for RegExps
226
await operations
177
Block Params
165
Array filtering
161
SES (Secure EcmaScript)
150
JavaScript module fragments
147
Error stacks
140
Promise.try
130
Math.seededRandoms()
129
Collection methods
125
Array.prototype.unique()
112
Emitter
88
Extensions
86
"use module"
80
ArrayBuffer to/from Base64
77
async do expressions
76
class Access Expressions
75
Fixed shape objects
74
Generator arrow functions
71
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
54
defer module import eval
46
Math Extensions
44
Double-Ended Iterator and Destructuring
41
String.prototype.codePoints
38
Wavy Dot: Syntactic Support for Promise Pipelining
36
of and from on collection constructors
34
Compartments
33
Standardized Debug
30
IDL for ECMAScript
29
Richer Keys
27
Support for Distributed Promise Pipelining
27
Array.fromAsync
27
String.cooked
25
Private declarations
24
Readonly Collections
24
Evaluator Attributes
24
Module Keys
23
Dynamic Modules
23
Bind-this operator
22
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
Modulus and Additional Integer Math
10
OOM Fails Fast
9
Reverse iteration
8
Preserve Host Virtualizability
8
Restrict subclassing support in built-in methods
8
Class Brand Checks
8
Smart Unit Preferences in Intl.NumberFormat
8
Math.signbit: IEEE-754 sign bit
6
RegExp Extended Mode and Comments
6
eraDisplay option for Intl.DateTimeFormat
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