V8 SpiderMonkey JavaScriptCore Chakra Other
Minor difference (1 point) Small feature (2 points) Medium feature (4 points) Large feature (8 points)
Feature name Current browser Traceur Babel +
core-js
[2]
Closure Type-
Script +
core-js
es7-shim IE 9 IE 10 IE 11 Edge 12[3] Edge 13[3] Edge 14[3] Edge 15[3] FF 38
ESR
FF 42 FF 43 FF 44 FF 45 ESR FF 46 FF 47 FF 48 FF 49 FF 50 FF 51 Beta FF 52 Aurora FF 53 Nightly CH 46,
OP 33
[1]
CH 47,
OP 34
[1]
CH 48,
OP 35
[1]
CH 49,
OP 36
[1]
CH 50,
OP 37
[1]
CH 51,
OP 38
[1]
CH 52,
OP 39
[1]
CH 53,
OP 40
[1]
CH 54,
OP 41
[1]
CH 55,
OP 42
[1]
CH 56,
OP 43
[1]
CH 57,
OP 44
[1]
SF
5.1
SF 6 SF 6.1,
SF 7
SF 7.1,
SF 8
SF 9 SF 10 SF TP WK PJS Node 0.10[4] Node 0.12[4] io.js[4] Node 4[4] Node 5[4] Node 6.0-6.4[4] Node 6.5[4] Node 7[4] AN 4.0 AN 4.1 AN 4.2 AN 4.3 AN 4.4 AN 5.0 AN 5.1 iOS 5.1 iOS 6 iOS 7 iOS 8 iOS 9 iOS 10
2016 features
§exponentiation (**) operator 2/3 3/3 3/3 2/3 0/3 0/3 0/3 0/3 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 3/3 3/3 0/3 0/3 0/3 0/3 0/3 0/3 3/3 3/3 3/3 3/3 3/3 3/3 0/3 0/3 0/3 0/3 0/3 0/3 3/3 3/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/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
§basic support Yes Yes Yes Yes No No No No No Flag Yes Yes No No[5] No[5] No[5] No[5] No[5] No[5] No[5] No[5] No[5] No[5] Yes Yes No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes No No No No No No No Flag Yes No No No No No No No No No No No No No
§assignment Yes Yes Yes Yes No No No No No Flag Yes Yes No No No No No No No No[5] No[5] No[5] No[5] Yes Yes No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes No No No No No No No Flag Yes No No No No No No No No No No No No No
§early syntax error for unary negation without parens No Yes Yes No No No No No No No Yes Yes No No No No No No No No No No No Yes Yes No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes No No No No No No No Flag Yes No No No No No No No No No No No No No
§Array.prototype.includes 0/3 3/3 0/3 3/3 2/3 0/3 0/3 0/3 0/3 0/3 3/3 3/3 0/3 0/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 0/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 0/3 0/3 0/3 0/3 2/3 3/3 3/3 3/3 0/3 0/3 0/3 0/3 0/3 0/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 2/3 3/3
§Array.prototype.includes No Yes No Yes[6] Yes No No No No No Yes Yes 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 No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes No No No No No No No No No No No Yes Yes
§Array.prototype.includes is generic No Yes No Yes[6] Yes No No No No No Yes Yes 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 No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes No No No No No No No No No No No Yes Yes
§%TypedArray%.prototype.includes No Yes No Yes[6] No No No No No No Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes No No No No No No No No No No No No Yes
2016 misc
§generator functions can't be used with "new"[7] No No No No No No No No No Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Yes Yes Yes No No No No No No No No No No No No Yes
§generator throw() caught by inner generator[8] No No Yes No No No No No No 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 No No No No No Yes Yes Yes No No Flag Flag Yes Yes Yes Yes Yes No No No No No No Yes No No No No No Yes
§strict fn w/ non-strict non-simple params is error[9] No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Yes Yes Yes No No No No No No No No No No No No Yes
§nested rest destructuring, declarations[10] No Yes Yes Yes No No No No No Flag Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes No No No No No No Yes Yes Yes No No No No No No No No No No No No No
§nested rest destructuring, parameters[11] No Yes Yes Yes No No No No No Flag Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes No No No No No No Yes Yes Yes No No No No No No No No No No No No No
§Proxy, "enumerate" handler removed[12] No No No No No No No No No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Yes Yes Yes No No No No No No No No No No No No Yes
§Proxy internal calls, Array.prototype.includes No No No No No No No No No No Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Yes Yes Yes No No No No No No No No No No No No Yes
2017 features
§Object.values No Yes No Yes[6] Yes No No No No No Yes Yes No No No No No[5] No[5] Yes Yes Yes Yes Yes Yes Yes No No No No No Flag Flag Flag Yes Yes Yes Yes No No No No No No Yes Yes No No No No No No No Flag Yes No No No No No No No No No No No No No
§Object.entries No Yes No Yes[6] Yes No No No No No Yes Yes No No No No No[5] No[5] Yes Yes Yes Yes Yes Yes Yes No No No No No Flag Flag Flag Yes Yes Yes Yes No No No No No No Yes Yes No No No No No No No Flag Yes No No No No No No No No No No No No No
§Object.getOwnPropertyDescriptors 0/2 1/2 0/2 1/2 1/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 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 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 1/2 2/2 2/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 0/2 0/2 0/2 0/2 0/2 0/2 1/2
§basic support No Yes No Yes[6] Yes No No No No No No Yes No No No No No No No No No Yes Yes Yes Yes No No No No No Flag Flag Flag Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No Flag Yes No No No No No No No No No No No No Yes
§doesn't provide undefined descriptors No No No No No No No No No No No Yes No No No No No No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No Yes Yes No No No No No No No No Yes No No No No No No No No No No No No No
§String padding 0/2 2/2 0/2 2/2 2/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 0/2 2/2 2/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 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 2/2
§String.prototype.padStart No Yes No Yes[6] Yes No No No No No Flag Yes No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No Flag Flag Flag Flag Flag Flag No No No No No Yes Yes Yes No No No No No No No No Flag No No No No No No No No No No No No Yes
§String.prototype.padEnd No Yes No Yes[6] Yes No No No No No Flag Yes No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No Flag Flag Flag Flag Flag Flag No No No No No Yes Yes Yes No No No No No No No No Flag No No No No No No No No No No No No Yes
§trailing commas in function syntax 0/2 2/2 0/2 2/2 0/2 0/2 0/2 0/2 0/2 0/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 0/2 0/2 0/2 0/2 0/2 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 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 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
§in parameter lists No Yes No Yes No No No No No No Yes Yes No No No No No No No No No No No Yes Yes No No No No No No No No No No No Flag No No No No 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 Yes
§in argument lists No Yes No Yes No No No No No No Yes Yes No No No No No No No No No No No Yes Yes No No No No No No No No No No No Flag No No No No 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 Yes
§async functions 3/3 3/3 3/3 2/3 0/3 0/3 0/3 0/3 0/3 0/3 0/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 3/3 3/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 3/3 3/3 3/3 0/3 0/3 0/3 0/3 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
§basic support Yes Yes[13] Yes Yes[14] No No No No No Flag Flag Yes No No No No No No No No No No No Yes Yes No No No No No No Flag Flag Flag Yes Yes Yes No No No No No No Yes Yes No No No No No No No No Flag No No No No No No No No No No No No No
§await support Yes Yes[13] Yes Yes[14] No No No No No Flag Flag Yes No No No No No No No No No No No Yes Yes No No No No No No Flag Flag Flag Yes Yes Yes No No No No No No Yes Yes No No No No No No No No Flag No No No No No No No No No No No No No
§arrow async functions Yes Yes[13] Yes No No No No No No Flag Flag Yes No No No No No No No No No No No Yes Yes No No No No No No Flag Flag Flag Yes Yes Yes No No No No No No Yes Yes No No No No No No No No Flag No No No No No No No No No No No No No
2017 misc
§class extends null 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 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 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§proper default constructor No No No No No No No No No No No No No No No No No No No 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 No No No No No No No No No No No No No No No No No No No No No No
§proper "this" binding No No No No No No No No No No No No No No No No No No No 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 No No No No No No No No No No No No No No No No No No No No No No
§Proxy "ownKeys" handler, duplicate keys for non-extensible targets 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 No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No Yes Yes No No No No No No No No No No No No Yes
§RegExp "u" flag, case folding No No No No No No No No No No No No No No No No No No 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 No No No No No No No No No No No No No No No No No No No No No Yes
§arguments.caller removed No No No No No No No No No No No 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 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
2017 annex b
§Object.prototype getter/setter methods 0/16 16/16 0/16 16/16 0/16 0/16 0/16 8/16 12/16 12/16 12/16 12/16 14/16 14/16 14/16 14/16 14/16 14/16 14/16 16/16 16/16 16/16 16/16 16/16 16/16 10/16 10/16 10/16 10/16 10/16 10/16 10/16 10/16 10/16 10/16 10/16 10/16 12/16 12/16 12/16 12/16 16/16 16/16 16/16 16/16 12/16 0/16 10/16 10/16 10/16 10/16 10/16 10/16 10/16 10/16 10/16 10/16 10/16 6/16 6/16 10/16 8/16 12/16 12/16 12/16 16/16 16/16
§__defineGetter__ No Yes No Yes[6] No No 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 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
§__defineGetter__, symbols No Yes No Yes[6] No No No 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 No No No No Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes No No No No Yes Yes
§__defineGetter__, ToObject(this) No Yes No Yes[6] No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes
§__defineSetter__ No Yes No Yes[6] No No 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 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
§__defineSetter__, symbols No Yes No Yes[6] No No No 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 No No No No Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes No No No No Yes Yes
§__defineSetter__, ToObject(this) No Yes No Yes[6] No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes
§__lookupGetter__ No Yes No Yes[6] No No 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 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
§__lookupGetter__, prototype chain No Yes No Yes[6] No No 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 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
§__lookupGetter__, symbols No Yes No Yes[6] No No No 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 No No No No Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes No No No No Yes Yes
§__lookupGetter__, ToObject(this) No Yes No Yes[6] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes
§__lookupGetter__, data properties can shadow accessors No Yes No Yes[6] No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes
§__lookupSetter__ No Yes No Yes[6] No No 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 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
§__lookupSetter__, prototype chain No Yes No Yes[6] No No 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 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
§__lookupSetter__, symbols No Yes No Yes[6] No No No 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 No No No No Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes No No No No Yes Yes
§__lookupSetter__, ToObject(this) No Yes No Yes[6] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes
§__lookupSetter__, data properties can shadow accessors No Yes No Yes[6] No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes
§Proxy internal calls, getter/setter methods 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 2/4 4/4 4/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 4/4 4/4 4/4 4/4 4/4 0/4 0/4 0/4 0/4 0/4 0/4 2/4 2/4 2/4 2/4 2/4 2/4 0/4 0/4 0/4 0/4 0/4 4/4 4/4 4/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 2/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 4/4
§__defineGetter__ No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes No No No No No No No No No No No No Yes
§__defineSetter__ No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes No No No No No No No No No No No No Yes
§__lookupGetter__ No No No No No No No No No No Yes Yes 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 Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No Yes
§__lookupSetter__ No No No No No No No No No No Yes Yes 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 Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No Yes
§assignments allowed in for-in head in non-strict mode Yes No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No

[1] Flagged features have to be enabled via "Experimental Javascript features" flag

[2] Flagged features require an optional transformer setting.

[3] Flagged features have to be enabled via "Enable experimental Javascript features" setting under about:flags

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

[5] The feature is enabled by default only in Firefox Nightly.

[6] This feature is supported when using TypeScript with core-js, or when a native ES6 host is used.

[7] TC39 meeting notes from July 28, 2015.

[8] 'Semantics of yield* in throw case' GitHub issue in ECMA-262 repo.

[9] TC39 meeting notes from July 29, 2015.

[10] TC39 meeting notes from July 28, 2015.

[11] TC39 meeting notes from July 28, 2015.

[12] 'Normative: Remove [[Enumerate]] and associated reflective capabilities' GitHub Pull Request in ECMA-262 repo.

[13] This feature requires native generators or regenerator-runtime, it's a part of babel-polyfill or babel-runtime.

[14] TypeScript async / await requires native generators support.