modules |
ES2015 |
mdn01 mdn02 |
Yes |
|
Yes |
transform-es2015-modules-commonjs |
9 |
Babel transform not used as modules are supported by Webpack 2. Used by AVA based unit testing |
function.name property |
ES2015 |
mdn03 |
Yes |
|
Yes |
transform-es2015-function-name |
6 LTS |
Transform used for browser. |
Array#includes |
ES2016 |
mdn05 |
Yes |
core.js |
Yes |
NA |
6 LTS |
|
exponentiation operator |
ES2016 |
mdn04 |
Yes |
|
Yes |
transform-exponentiation-operator |
8 LTS |
|
Object.{values,entries} |
ES2017 |
mdn06 mdn07 |
Yes |
core.js |
Yes |
NA |
8 LTS |
|
String#{padStart,padEnd} |
ES2017 |
mdn08 mdn09 |
Yes |
core.js |
Yes |
NA |
8 LTS |
|
Object.getOwnPropertyDescriptors |
ES2017 |
mdn10 |
Yes |
core.js |
Yes |
NA |
8 LTS |
|
trailing commas from function calls |
ES2017 |
2ality00 |
Yes |
|
Yes |
syntax-trailing-function-commas |
8 LTS |
|
Async Functions |
ES2017 |
mdn11 |
Yes |
|
Yes |
transform-async-to-generator |
8 LTS |
|
Shared memory and atomics |
ES2017 |
mdn13 |
See notes |
|
Yes |
|
9 |
Typescript supports the syntax. Implementation support javascript runtime and version |
Lifting Template Literal Restriction |
ES2018 |
mdn14 2ality02 |
|
|
#12700 |
V7 Core See PR #274 |
9 |
On TypeScript 3.2 roadmap |
s (dotAll ) flag for regular expressions |
ES2018 |
2ality10 |
Yes |
|
|
transform-modern-regexp |
9 |
|
RegExp named capture groups |
ES2018 |
2ality09 |
Yes |
|
|
transform-modern-regexp |
10 |
Babel may also support through regexpu See babel proposals #35 |
RegExp Lookbehind Assertions |
ES2018 |
2ality07 |
|
|
|
No. See transform-modern-regexp #5 |
9 |
|
RegExp Unicode Property Escapes |
ES2018 |
2ality08 |
Yes |
|
|
transform-unicode-property-regex |
10 |
|
Rest/Spread Properties |
ES2018 |
2ality04 |
Yes |
|
Yes |
transform-object-rest-spread |
8 LTS |
|
Promise#finally |
ES2018 |
2ality11 |
Yes |
core.js |
Yes |
|
10 |
promise.prototype.finally |
Asynchronous Iteration |
ES2018 |
2ality05 |
Yes |
|
Yes |
transform-async-generator-functions |
10 |
|
Optional catch binding |
ES2019 |
2ality14 |
Yes |
|
Yes |
transform-optional-catch-binding |
|
Added to chrome codebase 2018-01-19 |
JSON superset |
ES2019 |
|
|
|
|
[proposal-json-strings ] |
|
|
Function#toString revision |
Stage 3 |
2ality01 |
|
|
|
|
10. 6 LTS (Partial) |
|
global |
Stage 3 |
2ality03 |
Yes |
core.js |
#12902 |
|
|
|
import() |
Stage 3 |
2ality06 |
Yes |
|
Yes |
syntax-dynamic-import |
|
Babel syntax/transform not used as dynamic modules are supported by Webpack 2. Used by AVA based unit testing |
Legacy RegExp features in JavaScript |
Stage 3 |
|
|
|
|
|
|
|
BigInt |
Stage 3 |
2ality12 |
|
|
#15096 |
PR #6015 |
|
On TypeScript 3.2 roadmap |
import.meta |
Stage 3 |
2ality15 |
Partial |
|
Yes |
|
10. |
See Typescript PR #23327 for instructions how to use |
Private instance methods and accessors |
Stage 3 |
2ality13 |
|
|
#9950 |
V7 transform-class-properties |
|
See #7842 Merged 2018-05-18 for 7.0.0-beta.48 |
Array#{flat,flatMap} |
Stage 3 |
|
Yes |
core.sj |
|
|
|
|
Instance class fields and methods |
Stage 3 |
2ality13 |
Yes |
|
Yes. See comment |
transform-class-properties |
|
Bug in TypeScript #12212 does not pass through to Babel |
Static class fields and methods |
Stage 3 |
2ality13 |
Yes |
|
Yes. See comment |
transform-class-properties |
|
Bug in TypeScript #12212 does not pass through to Babel |
String#{trimStart,trimEnd} |
Stage 3 |
|
Yes |
core.js |
|
|
|
|
String#matchAll |
Stage 3 |
|
Yes |
core.js |
|
|
|
|
Symbol#description |
Stage 3 |
|
|
core.js |
|
|
|
|
Object.fromEntries |
Stage 3 |
|
|
core.js |
PR #26149 |
|
|
|
Numeric separators |
Stage 2 |
|
|
|
2.7 #20582 |
transform-numeric-separator |
|
|
function.sent metaproperty |
Stage 2 |
|
Yes |
|
|
transform-function-sent |
|
|
Decorators |
Stage 2 |
|
Yes |
|
Yes |
transform-decorators-legacy |
|
Needs write in Babel |
Throw expressions |
Stage 2 |
|
|
|
|
|
|
|
Atomics.waitAsync |
Stage 2 |
|
|
|
|
|
|
|
Hashbang Grammar |
Stage 2 |
|
|
|
|
|
|
|
WeakRefs |
Stage 2 |
|
|
|
|
|
|
|
Top-level await |
Stage 2 |
|
|
|
|
|
|
|
New Set methods |
Stage 2 |
|
|
|
|
|
|
|
Well-formed JSON.stringify |
Stage 2 |
|
|
|
|
|
|
|
Function#toString() censorship |
Stage 2 |
|
|
|
|
|
|
|
Realms |
Stage 2 |
|
|
|
|
|
|
|
ArrayBuffer#transfer |
Stage 2 |
|
|
|
|
|
|
|
RegExp Match array offsets |
Stage 2 |
|
|
|
|
|
|
|
Sequence properties in Unicode property escapes |
Stage 2 |
|
|
|
|
|
|
|
InterpreterDirective |
Stage 2 |
|
|
|
|
|
|
|
Temporal |
Stage 2 |
|
|
|
|
|
|
|
export v from "mod"; statements |
Stage 1 |
|
|
|
|
|
|
|
Observable |
Stage 1 |
|
Yes |
core.js |
|
|
|
core-js/fn/observable |
Frozen Realms |
Stage 1 |
|
|
|
|
|
|
|
Math Extensions |
Stage 1 |
|
Yes |
core.js |
|
|
|
|
of and from on collection constructors |
Stage 1 |
|
Yes |
core.js |
|
|
|
|
Generator arrow functions |
Stage 1 |
|
|
|
|
|
|
|
Promise.try |
Stage 1 |
|
Yes |
core.js |
|
|
|
|
Optional Chaining |
Stage 1 |
|
|
|
|
|
|
|
Math.signbit: IEEE-754 sign bit |
Stage 1 |
|
Yes |
core.js |
|
|
|
|
Error stacks |
Stage 1 |
|
|
|
|
|
|
|
do expressions |
Stage 1 |
|
|
|
|
|
|
|
Float16 on TypedArrays, DataView, Math.hfround |
Stage 1 |
|
|
|
|
|
|
|
[Number.{parseInt,parseFloat} changes |
Stage 1 |
|
|
|
|
|
|
|
Binary AST |
Stage 1 |
|
|
|
|
|
|
|
Pipeline Operator |
Stage 1 |
|
|
|
|
|
|
|
Extensible numeric literals |
Stage 1 |
|
|
|
|
|
|
|
First-Class Protocols |
Stage 1 |
|
|
|
|
|
|
|
Nullary coalescing operator |
Stage 1 |
|
|
|
|
|
|
|
Partial application |
Stage 1 |
|
|
|
|
|
|
|
Cancellation API |
Stage 1 |
|
|
|
|
|
|
|
String#replaceAll |
Stage 1 |
|
|
|
|
|
|
|
String#codePoints |
Stage 1 |
|
|
|
|
|
|
|
Distinguishing literal strings |
Stage 1 |
|
|
|
|
|
|
|
Object.freeze + Object.seal syntax |
Stage 1 |
|
|
|
|
|
|
|
Block Params |
Stage 1 |
|
|
|
|
|
|
|
{BigInt,Number}.fromString |
Stage 1 |
|
|
|
|
|
|
|
Math.seededRandoms |
Stage 1 |
|
|
|
|
|
|
|
Maximally minimal mixins |
Stage 1 |
|
|
|
|
|
|
|
Getting last item from Array |
Stage 1 |
|
|
|
|
|
|
|
Collection methods |
Stage 1 |
|
|
|
|
|
|
|
Richer Keys |
Stage 1 |
|
|
|
|
|
|
|
Slice notation |
Stage 1 |
|
|
|
|
|
|
|
Logical Assignment Operators |
Stage 1 |
|
|
|
|
|
|
|
Module Keys |
Stage 1 |
|
|
|
|
|
|
|
Class Static Block |
Stage 1 |
|
|
|
|
|
|
|
class Access Expressions |
Stage 1 |
|
|
|
|
|
|
|
Pattern Matching |
Stage 1 |
|
|
|
|
|
|
|
Explicit Resource Management |
Stage 1 |
|
|
|
|
|
|
|
Dynamic Modules |
Stage 1 |
|
|
|
|
|
|
|
JavaScript Standard Library |
Stage 1 |
|
|
|
|
|
|
|
"use modules" |
Stage 1 |
|
|
|
|
|
|
|
for-in mechanics |
Stage 1 |
|
|
|
|
|
|
|
Uniform Date.parse |
Stage 1 |
|
|
|
|
|
|
|
JSON.parse source text access |
Stage 1 |
|
|
|
|
|
|
|