Skip to main content

ECMAScript Proposals

About 1 minfeature

ECMAScript Proposals

The TC39 process.open in new window

Index

Finished

Finished (stage 4) proposals already marked in Core-JS as stable ECMAScript, they are available in core-js/stable and core-js/es namespace, you can find then in related sections of this doc. However, even for finished proposals, Core-JS provide a way to include only features for a specific proposal like core-js/proposals/proposal-name.

globalThis

Relative indexing method

Array.prototype.includes

Array.prototype.flat / Array.prototype.flatMap

Array find from last

Change Array by copy

Object.values / Object.entries

Object.fromEntries

Object.getOwnPropertyDescriptors

Accessible Object.prototype.hasOwnProperty

String padding

String.prototype.matchAll

String.prototype.replaceAll

String.prototype.trimStart / String.prototype.trimEnd

RegExp s (dotAll) flag

RegExp named capture groups

Promise.allSettled

Promise.any

Promise.prototype.finally

Symbol.asyncIterator for asynchronous iteration

Symbol.prototype.description

Well-formed JSON.stringify

Well-formed unicode strings

Stage 3

core-js/stage/3 entry point contains only stage 3 proposals, core-js/stage/2 - stage 2 and stage 3, etc.

Entry points:

core-js(-pure)/stage/3

Iterator helpers

Array.fromAsync

ArrayBuffer.prototype.transfer and friends

New Set methods

JSON.parse source text access

Explicit resource management

Symbol.metadata for decorators metadata proposal

Stage 2

Entry points:

core-js(-pure)/stage/2

Array grouping

AsyncIterator helpers

Iterator.range

Promise.withResolvers

Map.prototype.emplace

Array.isTemplateObject

String.dedent

Async explicit resource management

Symbol predicates

Stage 1

Entry points:

core-js(-pure)/stage/1

Observable

New collections methods

.of and .from methods on collection constructors

compositeKey and compositeSymbol

Array filtering

Array deduplication

Getting last item from Array

Number.fromString

Math extensions

Math.signbit

String.cooked

String.prototype.codePoints

Symbol.matcher for pattern matching

Stage 0

Entry points:

core-js(-pure)/stage/0

Function.prototype.demethodize

Function.{ isCallable, isConstructor }

URL

Pre-stage 0

Entry points:

core-js(-pure)/stage/pre

Reflect metadata