This table shows proposals which have not yet been included in the current ECMAScript standard, but are at one of the maturity stages of the TC39 process.
V8 SpiderMonkey JavaScriptCore Chakra Other
Minor difference (1 point) Small feature (2 points) Medium feature (4 points) Large feature (8 points)
Compilers/polyfills Desktop browsers Servers/runtimes Mobile
Feature name Current browser Traceur Babel 6 +
core-js 2
Babel 7 +
core-js 2
Babel 7 +
core-js 3
Closure 2018.02 Closure 2018.10 Closure 2018.11 Closure 2018.12 Closure 2019.01 Closure 2019.01 Closure 2019.02 Closure 2019.03 Closure 2019.03 Type-
Script +
core-js 2
Type-
Script +
core-js 2
Type-
Script +
core-js 2
Type-
Script +
core-js 2
Type-
Script +
core-js 2
Type-
Script +
core-js 3
Type-
Script +
core-js 3
Type-
Script +
core-js 3
Type-
Script +
core-js 3
Edge 15 Edge 16 Edge 17 Edge 18 Edge 19 Preview FF 59 FF 60 ESR FF 61 FF 62 FF 63 FF 64 FF 65 FF 66 FF 67 FF 68 Beta FF 69 Nightly OP 12.10 CH 67,
OP 54
CH 68,
OP 55
CH 69,
OP 56
CH 70,
OP 57
CH 71,
OP 58
CH 72,
OP 59
CH 73,
OP 60
CH 74,
OP 61
CH 75,
OP 62
CH 76,
OP 63
CH 77,
OP 64
SF 10.1 SF 11 SF 11.1 SF 12 SF 12.1 SF TP WK PJS Node 0.10[1] Node 0.12[2] Node 4[2] Node >=6.5 <7[2] Node 7.0-7.5[2] Node >=7.6 <8[2] Node >=8.0 <8.3[2] Node >=8.3 <8.7[2] Node >=8.7 <8.10[2] Node >=8.10 <9[2] Node >=10.0 <10.4[2] Node >=10.4 <10.9[2] Node >=10.9 <11[2] Node >=11[2] DUK 2.0 DUK 2.1 DUK 2.2 DUK 2.3 GraalVM 19.0.0[3] AN 4.4 AN 4.4.3 iOS >=10.3 <11 iOS 11 iOS 11.3 iOS 12 iOS 12.2 Samsung 6.4 Samsung 7.2 Samsung 8.2
Candidate (stage 3)
§globalThis 0/2 0/2 0/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 0/2 0/2 0/2
§"globalThis" global property is global object No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No Yes Yes Yes Yes Yes No No No No Flag[7] Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes No No No No No No No No No No No No No No Flag[7] No No No No Yes No No No No No No Yes No No No
§"globalThis" global property has correct property descriptor No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No Yes Yes Yes Yes Yes No No No No Flag[7] Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes No No No No No No No No No No No No No No Flag[7] No No No No Yes No No No No No No Yes No No No
§instance class fields 1/4 1/4 1/4 1/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 1/4 1/4 1/4 1/4 1/4 1/4 1/4 1/4 1/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 1/4 2/4 4/4 4/4 4/4 4/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4
§public instance class fields Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No Flag[8] Flag[8] Flag[8] No Flag[9] Flag[9] Flag[9] Flag[9] Flag[9] Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No Flag[9] Flag[9] Flag[9] Flag[9] No No No No No No No No No No No No No No No
§private instance class fields basic support No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No[10] No[10] No[10] No Flag[9] Flag[9] Flag[9] Flag[9] Flag[9] Flag[9] Flag[9] Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No Flag[9] Flag[9] Flag[9] Flag[9] No No No No No No No No No No No No No No No
§private instance class fields initializers No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No[10] No[10] No[10] No Flag[9] Flag[9] Flag[9] Flag[9] Flag[9] Flag[9] Flag[9] Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No Flag[9] Flag[9] Flag[9] Flag[9] No No No No No No No No No No No No No No No
§computed instance class fields No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Flag[8] Flag[8] No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§static class fields 1/3 1/3 1/3 1/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 1/3 2/3 3/3 3/3 3/3 3/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3
§public static class fields Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No Flag[9] Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§private static class fields No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§computed static class fields No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§numeric separators No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No Yes Yes No Flag[9] Flag[9] Flag[9] Flag[9] Flag[9] Flag[9] Flag[9] Flag[9] Yes Yes Yes No No No No No No No No No No No No No No No No No No No Flag[9] Flag[9] Flag[9] No No No No No No No No No No No No No No No
§Promise.allSettled No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Legacy RegExp features in JavaScript 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 0/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2
§RegExp "lastMatch" MDN (Mozilla Development Network) logo  No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§RegExp.$1-$9 MDN (Mozilla Development Network) logo  No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Draft (stage 2)
§Generator function.sent Meta Property No Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Class and Property Decorators 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1
§class decorators No No[11] No[11] No[11] No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Realms No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§weak references No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§throw expressions 0/4 0/4 4/4 4/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4
§logical No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§parameter initializers No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§arrow function bodies No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§conditionals No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§String.prototype.replaceAll No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set methods 0/7 0/7 0/7 7/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 7/7 7/7 7/7 7/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7
§Set.prototype.intersection No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.union No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.difference No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.symmetricDifference No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.isDisjointFrom No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.isSubsetOf No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.isSupersetOf No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§ArrayBuffer.prototype.transfer 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§ArrayBuffer.prototype.transfer() No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§ArrayBuffer.prototype.realloc() No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
Proposal (stage 1)
§do expressions No Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Observable 0/7 7/7 7/7 7/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7
§basic support No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Symbol.observable well known symbol No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Observable.prototype.subscribe No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Observable constructor behavior No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Observable.prototype[Symbol.observable] No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Observable.of No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Observable.from No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Frozen Realms API No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Math.signbit No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Math extensions proposal 0/7 7/7 7/7 7/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7
§Math.clamp No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Math.DEG_PER_RAD No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Math.degrees No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Math.fscale No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Math.RAD_PER_DEG No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Math.radians No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Math.scale No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Promise.try 0/7 7/7 7/7 7/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7
§basic support No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§returns instance of Promise No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§call function synchronously No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§function returns value No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§function throws exception No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§function returns fulfilled Promise No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§function returns rejected Promise No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§`.of` and `.from` on collection constructors 0/8 8/8 8/8 8/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8
§Map.of No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.from No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.of No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.from No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§WeakMap.of No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§WeakMap.from No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§WeakSet.of No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§WeakSet.from No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§the pipeline operator MDN (Mozilla Development Network) logo  No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No No Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§extensible numeric literals No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§optional chaining operator (?.) 0/3 0/3 3/3 3/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3
§optional property access No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§optional bracket access No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§optional method call No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§nullish coalescing operator (??) No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§partial application syntax 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12
§partial application from left No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§partial application from right No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§partial application for any arg No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§partial application from left with rest No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§partial application from right with rest No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§partial application for any arg with rest No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§mixed partial application No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§runtime evaluation No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§runtime evaluation of property access No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§lexical `this` No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§constructor partial application No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§constructor partial application with rest No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Object.freeze and Object.seal syntax 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8
§Object.freeze syntax No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Object.freeze syntax with array literal No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Object.seal syntax No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Object.seal syntax with array literal No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Sealing, function destructuring No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Freezing, function destructuring No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Sealing, function arguments No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Freezing, function arguments No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§String.prototype.codePoints No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§getting last item from array 0/2 0/2 0/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§Array.prototype.lastItem No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Array.prototype.lastIndex No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Collections methods 0/26 0/26 0/26 26/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 26/26 26/26 26/26 26/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26 0/26
§Map.groupBy No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.keyBy No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.prototype.deleteAll No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.prototype.every No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.prototype.filter No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.prototype.find No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.prototype.findKey No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.prototype.includes No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.prototype.keyOf No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.prototype.mapKeys No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.prototype.mapValues No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.prototype.merge No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.prototype.reduce No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map.prototype.some No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.addAll No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.deleteAll No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.every No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.filter No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.find No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.join No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.map No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.reduce No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Set.prototype.some No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§WeakMap.prototype.deleteAll No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§WeakSet.prototype.addAll No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§WeakSet.prototype.deleteAll No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Math.seededPRNG No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§{ BigInt, Number }.fromString 0/2 0/2 0/2 1/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 1/2 1/2 1/2 1/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§Number.fromString No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§BigInt.fromString No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Promise.any No No No Yes[4] No No No No No No No No No No[5] No[5] No[5] No[5] No[5] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
Strawman (stage 0)
§bind (::) operator 0/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§binary form No Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§unary form No Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§String.prototype.at No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§additional meta properties 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3
§function.callee No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§function.count No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§function.arguments No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§method parameter decorators No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§function expression decorators No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.isCallable / Reflect.isConstructor 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§Reflect.isCallable No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.isConstructor No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§zones 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7
§Zone No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Zone.current No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Zone.prototype.name No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Zone.prototype.parent No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Zone.prototype.fork No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Zone.prototype.run No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Zone.prototype.wrap No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§syntactic tail calls 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§direct recursion No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§mutual recursion No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§object shorthand improvements 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§object initializers No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§destructuring assignments No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
Pre-strawman
§Metadata reflection API 0/9 9/9 9/9 9/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 9/9 9/9 9/9 9/9 9/9 9/9 9/9 9/9 9/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9
§Reflect.defineMetadata No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.hasMetadata No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.hasOwnMetadata No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.getMetadata No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.getOwnMetadata No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.getMetadataKeys No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.getOwnMetadataKeys No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.deleteMetadata No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.metadata No Yes[4] Yes[4] Yes[4] No No No No No No No No No Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] Yes[6] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No

[1] Flagged features have to be enabled via --harmony flag

[2] Flagged features have to be enabled via --harmony or --es_staging flag

[3] Executed in Node.js/JVM mode via graalvm/bin/node --jvm.

[4] This feature is supported when using Babel with core-js.

[5] TypeScript's compiler will accept code using this feature if the --target ES6 flag is set, but passes it through unmodified and does not supply a runtime polyfill.

[6] This feature is supported when using TypeScript with core-js.

[7] The feature have to be enabled via "Experimental Javascript features" setting under about:flags

[8] The feature have to be enabled via javascript.options.experimental.fields setting under about:config.

[9] The feature have to be enabled via --js-flags="--harmony" flag

[10] The feature have to be enabled via javascript.options.experimental.fields setting under about:config. Private fields are supported by parser, but behave as public fields.

[11] Babel 6 still has no official support decorators, but you can use this plugin.

[12] Requires the --enable-pipeline-operator compile option.