V8 SpiderMonkey JavaScriptCore Chakra Carakan KJS 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 ES6
Trans-
piler
Traceur Babel +
core-js
[2]
Closure JSX Type-
Script +
core-js
es6-shim Konq 4.14[3] IE 10 IE 11 Edge 12 Edge 13 Edge 14 Edge 15 Edge 16 Preview FF 45 ESR FF 48 FF 49 FF 50 FF 51 FF 52 ESR FF 53 FF 54 FF 55 FF 56 Beta FF 57 Nightly OP 12.10 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]
CH 58,
OP 45
[1]
CH 59,
OP 46
[1]
CH 60,
OP 47
[1]
CH 61,
OP 48
[1]
CH 62,
OP 49
[1]
SF 8 SF 9 SF 10 SF 10.1 SF 11 SF TP WK Rhino 1.7 PJS Echo JS XS6 JXA 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 <7[4] Node 7.0-7.5[4] Node >=7.6 <8[4] Node 8.0-8.2[4] Node >=8.3 <9[4] DUK 1.5 DUK 1.6 DUK 1.7 DUK 1.8 DUK 2.0 DUK 2.1 DUK 2.2 AN 4.4 AN 4.4.3 iOS 8 iOS 9 iOS 10.0-10.2 iOS >=10.3 <11 iOS 11
Optimisation
§proper tail calls (tail call optimisation) 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 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 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 0/2 0/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2
§direct recursion No Flag[5] No No No No[6] No No No No No No No No No No No No No No No No No No No No No Flag Flag Flag Flag Flag Flag Flag Flag Flag Flag Flag No No Yes Yes Yes Yes Yes No No No Yes No No No No No No No Flag Flag Flag Flag Flag No No No No Yes Yes Yes No No No No Yes Yes Yes
§mutual recursion No Flag[5] No No No No[6] No No No No No No No No No No No No No No No No No No No No No Flag Flag Flag Flag Flag Flag Flag Flag Flag Flag Flag No No Yes Yes Yes Yes Yes No No No Yes No No No No No No No Flag Flag Flag Flag Flag No No No No Yes Yes Yes No No No No Yes Yes Yes
Syntax
§default function parameters MDN (Mozilla Development Network) logo  4/7 4/7 4/7 5/7 0/7 5/7 0/7 0/7 0/7 0/7 0/7 0/7 7/7 7/7 7/7 4/7 4/7 4/7 4/7 6/7 6/7 7/7 7/7 7/7 7/7 7/7 0/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 0/7 0/7 7/7 7/7 7/7 7/7 7/7 0/7 0/7 4/7 7/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 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
§basic functionality Yes Yes Yes Yes No Yes No No No No Flag Flag 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§explicit undefined defers to the default Yes Yes Yes Yes No Yes No No No No Flag Flag 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§defaults can refer to previous params Yes Yes Yes Yes No Yes No No No No Flag Flag 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§arguments object interaction Yes Yes Yes No No Yes No No No No No Flag 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§temporal dead zone No No No Yes No Yes No No No No Flag Flag Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§separate scope No No No Yes No No No No No No Flag Flag Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§new Function() support No No No No No No[6] No No No No Flag Flag Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No[0] Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§rest parameters MDN (Mozilla Development Network) logo  2/5 4/5 3/5 2/5 3/5 4/5 0/5 0/5 0/5 0/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 0/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 0/5 0/5 5/5 5/5 5/5 5/5 5/5 0/5 0/5 3/5 5/5 0/5 0/5 0/5 0/5 0/5 0/5 5/5 5/5 5/5 5/5 5/5 5/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 5/5 5/5 5/5
§basic functionality Yes Yes Yes Yes Yes Yes No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§function 'length' property Yes Yes Yes No Yes Yes No No No No 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 No No Yes Yes Yes Yes Yes No No No Yes No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§arguments object interaction No Yes Yes No No Yes No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§can't be used in setters No Yes No Yes Yes Yes No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§new Function() support 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No[0] Yes No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§spread (...) operator MDN (Mozilla Development Network) logo  8/15 15/15 13/15 12/15 2/15 4/15 0/15 0/15 0/15 0/15 12/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 0/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 5/15 9/15 15/15 15/15 15/15 15/15 15/15 0/15 0/15 10/15 15/15 11/15 0/15 0/15 0/15 0/15 15/15 15/15 15/15 15/15 15/15 15/15 15/15 0/15 0/15 0/15 0/15 0/15 0/15 0/15 0/15 0/15 5/15 9/15 15/15 15/15 15/15
§with arrays, in function calls Yes Yes Yes Yes Yes Yes No No No No 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 No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with arrays, in array literals Yes Yes Yes Yes No Yes No No No No 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 No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with sparse arrays, in function calls Yes Yes Yes Yes Yes Yes No No No No 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 No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with sparse arrays, in array literals No Yes No No No No No No No No No 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 No No No Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with strings, in function calls No Yes Yes[7] Yes No No No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§with strings, in array literals No Yes Yes[7] Yes No No No No No No 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 No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with astral plane strings, in function calls No Yes Yes[7] No No No No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§with astral plane strings, in array literals No Yes Yes[7] No No No No No No No 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 No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with generator instances, in calls No Yes Yes[7] Yes No No No No No No Flag 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§with generator instances, in arrays No Yes Yes[7] Yes No No No No No No Flag 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 No No Yes Yes Yes Yes Yes No No No Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§with generic iterables, in calls Yes[8] Yes Yes[7] Yes No No No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§with generic iterables, in arrays Yes[8] Yes Yes[7] Yes No No No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with instances of iterables, in calls Yes[8] Yes Yes[7] Yes No No No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§with instances of iterables, in arrays Yes[8] Yes Yes[7] Yes No No No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§spreading non-iterables is a runtime error Yes Yes No Yes No Yes No No No No 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 No No No Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§object literal extensions MDN (Mozilla Development Network) logo  6/6 6/6 6/6 4/6 5/6 6/6 0/6 0/6 0/6 0/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 0/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 1/6 5/6 6/6 6/6 6/6 6/6 6/6 0/6 0/6 5/6 6/6 5/6 0/6 0/6 0/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 0/6 0/6 0/6 0/6 4/6 4/6 4/6 0/6 0/6 1/6 5/6 6/6 6/6 6/6
§computed properties Yes Yes Yes Yes Yes Yes No No No No 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 No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes No No Yes Yes Yes Yes Yes
§shorthand properties Yes Yes Yes Yes Yes Yes No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes No No No Yes Yes Yes Yes
§shorthand methods Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes No No No Yes Yes Yes Yes
§string-keyed shorthand methods Yes Yes Yes No Yes Yes No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes No No No Yes Yes Yes Yes
§computed shorthand methods Yes Yes Yes Yes Yes Yes No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§computed accessors Yes Yes Yes No No Yes No No No No 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 No No Yes Yes Yes Yes Yes No No No Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§for..of loops MDN (Mozilla Development Network) logo  4/9 9/9 9/9 6/9 2/9 3/9 0/9 0/9 0/9 0/9 6/9 7/9 7/9 9/9 9/9 7/9 7/9 7/9 7/9 7/9 7/9 9/9 9/9 9/9 9/9 9/9 0/9 9/9 9/9 9/9 9/9 9/9 9/9 9/9 9/9 9/9 9/9 9/9 2/9 8/9 9/9 9/9 9/9 9/9 9/9 0/9 0/9 7/9 9/9 8/9 0/9 7/9 7/9 7/9 7/9 7/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 2/9 8/9 9/9 9/9 9/9
§with arrays Yes Yes Yes[7] Yes Yes Yes No No No No 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 No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with sparse arrays Yes Yes Yes[7] Yes Yes Yes No No No No 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 No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with strings No Yes Yes[7] Yes No Yes No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with astral plane strings No Yes Yes[7] No No No No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with generator instances No Yes Yes[7] Yes No No No No No No Flag 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§with generic iterables Yes[8] Yes Yes[7] Yes No No No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with instances of generic iterables Yes[8] Yes Yes[7] Yes No No No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§iterator closing, break No Yes Yes[7] No No No No No No No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§iterator closing, throw No Yes Yes[7] No No No No No No No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§octal and binary literals 2/4 2/4 4/4 4/4 0/4 4/4 2/4 0/4 0/4 0/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 0/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 0/4 4/4 4/4 4/4 4/4 4/4 4/4 0/4 0/4 2/4 4/4 4/4 0/4 0/4 0/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 0/4 0/4 0/4 0/4 4/4 4/4 4/4 0/4 0/4 0/4 4/4 4/4 4/4 4/4
§octal literals Yes Yes Yes Yes No Yes No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Flag Flag No Yes Yes Yes Yes
§binary literals Yes Yes Yes Yes No Yes No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Flag Flag No Yes Yes Yes Yes
§octal supported by Number() No No Yes[7] Yes No Yes[10] Yes No No No 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 No Yes Yes Yes Yes Yes Yes No No No Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Flag Flag No Yes Yes Yes Yes
§binary supported by Number() No No Yes[7] Yes No Yes[10] Yes No No No 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 No Yes Yes Yes Yes Yes Yes No No No Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Flag Flag No Yes Yes Yes Yes
§template literals MDN (Mozilla Development Network) logo  3/5 4/5 4/5 3/5 4/5 3/5 0/5 0/5 0/5 0/5 4/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 0/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 0/5 5/5 5/5 5/5 5/5 5/5 5/5 0/5 0/5 4/5 5/5 5/5 0/5 0/5 0/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 5/5 5/5 5/5 5/5
§basic functionality Yes Yes Yes Yes Yes Yes No No No No 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 No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§toString conversion No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§tagged template literals Yes Yes Yes Yes Yes Yes No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§passed array is frozen Yes Yes Yes No Yes No No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§line break normalisation No Yes Yes Yes Yes Yes No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§RegExp "y" and "u" flags MDN (Mozilla Development Network) logo  0/5 3/5 3/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 2/5 5/5 5/5 5/5 5/5 2/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 0/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/5 0/5 0/5 5/5 5/5 5/5 5/5 5/5 0/5 0/5 2/5 2/5 0/5 0/5 0/5 0/5 0/5 0/5 5/5 5/5 5/5 5/5 5/5 5/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 5/5 5/5 5/5
§"y" flag No No No No No No[6] No No No No Flag 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§"y" flag, lastIndex No No No No No No[6] No No No No Flag 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§"u" flag No Yes Yes No No No[6] No No No No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes 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 Yes Yes Yes
§"u" flag, Unicode code point escapes No Yes Yes No No No[6] No No No No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes 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 Yes Yes Yes
§"u" flag, case folding No Yes Yes No No No[6] No No No No No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes 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 Yes Yes Yes
§destructuring, declarations MDN (Mozilla Development Network) logo  14/22 20/22 21/22 20/22 12/22 15/22 0/22 0/22 0/22 0/22 0/22 0/22 21/22 22/22 22/22 19/22 21/22 21/22 21/22 21/22 21/22 22/22 22/22 22/22 22/22 22/22 0/22 22/22 22/22 22/22 22/22 22/22 22/22 22/22 22/22 22/22 22/22 22/22 9/22 19/22 22/22 22/22 22/22 22/22 22/22 0/22 0/22 12/22 21/22 19/22 0/22 0/22 0/22 0/22 0/22 21/22 22/22 22/22 22/22 22/22 22/22 0/22 0/22 0/22 0/22 0/22 0/22 0/22 0/22 0/22 9/22 19/22 22/22 22/22 22/22
§with arrays Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with sparse arrays Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with strings Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with astral plane strings No Yes Yes[7] No No No No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with generator instances No Yes Yes[7] Yes No No No No No No No Flag 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§with generic iterables No Yes Yes[7] Yes No No No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with instances of generic iterables No Yes Yes[7] Yes No No No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§iterator closing No Yes Yes[7] No No No No No No No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§trailing commas in iterable patterns Yes No Yes[7] Yes Yes Yes No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with objects Yes Yes Yes Yes Yes Yes No No No No No Flag 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 No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§object destructuring with primitives Yes Yes Yes Yes Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§trailing commas in object patterns Yes Yes Yes Yes Yes Yes No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§throws on null and undefined Yes Yes Yes Yes Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§computed properties Yes Yes Yes Yes No Yes No No No No No Flag 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 No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§multiples in a single var statement Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§nested Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§in for-in loop heads No Yes Yes[7] Yes No No No No No No No Flag 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 No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§in for-of loop heads Yes Yes Yes[7] Yes No Yes No No No No No Flag 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 No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§in catch heads No Yes Yes[7] Yes Yes No No No No No No No 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 No No Yes Yes Yes Yes Yes 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 Yes Yes Yes
§rest Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§defaults Yes Yes Yes[7] Yes No Yes No No No No No Flag Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§defaults, let temporal dead zone No No Flag Yes No Yes No No No No No Flag Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§destructuring, assignment MDN (Mozilla Development Network) logo  17/24 23/24 24/24 21/24 11/24 19/24 0/24 0/24 0/24 0/24 0/24 0/24 23/24 24/24 24/24 21/24 23/24 23/24 23/24 23/24 23/24 24/24 24/24 24/24 24/24 24/24 0/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 12/24 21/24 24/24 24/24 24/24 24/24 24/24 0/24 0/24 14/24 24/24 21/24 0/24 0/24 0/24 0/24 0/24 23/24 24/24 24/24 24/24 24/24 24/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 12/24 21/24 24/24 24/24 24/24
§with arrays Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with sparse arrays Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with strings Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with astral plane strings No Yes Yes[7] No No No No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with generator instances No Yes Yes[7] Yes No No No No No No No Flag 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§with generic iterables No Yes Yes[7] Yes No No No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with instances of generic iterables No Yes Yes[7] Yes No No No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§iterator closing No No Yes[7] No No No No No No No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§iterable destructuring expression Yes Yes Yes[7] Yes No Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§chained iterable destructuring Yes Yes Yes[7] Yes No Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§trailing commas in iterable patterns Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with objects Yes Yes Yes Yes Yes Yes No No No No No Flag 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 No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§object destructuring with primitives Yes Yes Yes Yes Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§trailing commas in object patterns Yes Yes Yes Yes Yes Yes No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§object destructuring expression Yes Yes Yes Yes No Yes No No No No No Flag 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 No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§parenthesised left-hand-side is a syntax error No Yes Yes Yes No Yes No No No No No Flag 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 No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§chained object destructuring Yes Yes Yes Yes No Yes No No No No No Flag 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 No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§throws on null and undefined Yes Yes Yes No Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§computed properties Yes Yes Yes Yes No Yes No No No No No Flag 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 No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§nested Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§rest Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§nested rest No Yes Yes[7] Yes No Yes No No No No No Flag Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§empty patterns Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§defaults Yes Yes Yes[7] Yes No Yes No No No No No Flag Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§destructuring, parameters MDN (Mozilla Development Network) logo  15/23 19/23 20/23 18/23 12/23 15/23 0/23 0/23 0/23 0/23 0/23 0/23 22/23 23/23 23/23 18/23 19/23 19/23 19/23 20/23 20/23 23/23 23/23 23/23 23/23 23/23 0/23 23/23 23/23 23/23 23/23 23/23 23/23 23/23 23/23 23/23 23/23 23/23 10/23 18/23 23/23 23/23 23/23 23/23 23/23 0/23 0/23 12/23 23/23 18/23 0/23 0/23 0/23 0/23 0/23 22/23 23/23 23/23 23/23 23/23 23/23 0/23 0/23 0/23 0/23 0/23 0/23 0/23 0/23 0/23 10/23 18/23 23/23 23/23 23/23
§with arrays Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with sparse arrays Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with strings Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§with astral plane strings No Yes Yes[7] No No No No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with generator instances No Yes Yes[7] Yes No No No No No No No Flag 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§with generic iterables No Yes Yes[7] Yes No No No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with instances of generic iterables No Yes Yes[7] Yes No No No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§iterator closing No No Yes[7] No No No No No No No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§trailing commas in iterable patterns Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§with objects Yes Yes Yes Yes Yes Yes No No No No No Flag 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 No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§object destructuring with primitives Yes Yes Yes Yes Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§trailing commas in object patterns Yes Yes Yes Yes Yes Yes No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§throws on null and undefined Yes Yes Yes No Yes Yes No No No No No Flag 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 No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§computed properties Yes Yes Yes Yes No Yes No No No No No Flag 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 No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§nested Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§'arguments' interaction Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§new Function() support No No No No No No[6] No No No No No Flag Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§in parameters, function 'length' property Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes
§rest Yes Yes Yes[7] Yes Yes Yes No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§empty patterns Yes Yes Yes[7] Yes No Yes No No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§defaults Yes Yes Yes[7] Yes No Yes No No No No No Flag Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§defaults, separate scope No No No Yes No No No No No No No Flag Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§defaults, new Function() support No No No No No No[6] No No No No No Flag Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No[0] Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§Unicode code point escapes 1/2 1/2 1/2 1/2 0/2 1/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 2/2 1/2 1/2 1/2 1/2 1/2 1/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 0/2 2/2 2/2 2/2 2/2 2/2 2/2 0/2 0/2 2/2 2/2 2/2 0/2 0/2 0/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 0/2 0/2 0/2 2/2 2/2 2/2 2/2
§in strings Yes Yes Yes Yes No Yes No No No No 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes No No No Yes Yes Yes Yes
§in identifiers No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes No No No Yes Yes Yes Yes
§new.target MDN (Mozilla Development Network) logo  0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 1/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 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 2/2 2/2 2/2 2/2 2/2 0/2 0/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 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2
§in constructors No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§assignment is an early error No No No No No No No No No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
Bindings
§const MDN (Mozilla Development Network) logo  10/16 14/16 14/16 14/16 0/16 14/16 0/16 2/16 0/16 12/16 12/16 12/16 16/16 16/16 16/16 12/16 12/16 12/16 12/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 2/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 1/16 1/16 16/16 16/16 16/16 16/16 16/16 0/16 1/16 8/16 16/16 10/16 0/16 1/16 1/16 9/16 9/16 16/16 16/16 16/16 16/16 16/16 16/16 1/16 1/16 1/16 1/16 2/16 2/16 2/16 1/16 1/16 1/16 1/16 16/16 16/16 16/16
§basic support Yes Yes Yes Yes No Yes No 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 Yes Yes Yes No 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
§is block-scoped Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§cannot be in statements Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§redefining a const is an error Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§for loop statement scope Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§for-in loop iteration scope No Yes Yes Yes No Yes No No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§for-of loop iteration scope No Yes Yes Yes No Yes No No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§temporal dead zone No No Flag No No No No No No 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 No No Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§basic support (strict mode) Yes Yes Yes Yes No Yes No 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 No No Yes Yes Yes Yes Yes No No Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Flag Flag No No Yes Yes Yes
§is block-scoped (strict mode) Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Flag Flag No No Yes Yes Yes
§cannot be in statements (strict mode) Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Flag Flag No No Yes Yes Yes
§redefining a const (strict mode) Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No No Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§for loop statement scope (strict mode) Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Flag Flag No No Yes Yes Yes
§for-in loop iteration scope (strict mode) No Yes Yes Yes No Yes No No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§for-of loop iteration scope (strict mode) No Yes Yes Yes No Yes No No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§temporal dead zone (strict mode) No No Flag No No No No No No 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 No No Yes Yes Yes Yes Yes No No No Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Flag Flag No No Yes Yes Yes
§let MDN (Mozilla Development Network) logo  8/12 10/12 10/12 10/12 0/12 10/12 0/12 0/12 0/12 10/12 10/12 10/12 12/12 12/12 12/12 10/12 10/12 10/12 10/12 12/12 12/12 12/12 12/12 12/12 12/12 12/12 0/12 12/12 12/12 12/12 12/12 12/12 12/12 12/12 12/12 12/12 12/12 12/12 0/12 0/12 12/12 12/12 12/12 12/12 12/12 0/12 0/12 8/12 12/12 0/12 0/12 0/12 0/12 6/12 6/12 12/12 12/12 12/12 12/12 12/12 12/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 0/12 12/12 12/12 12/12
§basic support Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§is block-scoped Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§cannot be in statements Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§for loop statement scope Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§temporal dead zone No No Flag No No No No No No 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 No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§for/for-in loop iteration scope No Yes Yes Yes No Yes No No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§basic support (strict mode) Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Flag Flag No No Yes Yes Yes
§is block-scoped (strict mode) Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Flag Flag No No Yes Yes Yes
§cannot be in statements (strict mode) Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Flag Flag No No Yes Yes Yes
§for loop statement scope (strict mode) Yes Yes Yes Yes No Yes No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Flag Flag No No Yes Yes Yes
§temporal dead zone (strict mode) No No Flag No No No No No No 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 No No Yes Yes Yes Yes Yes No No No Yes No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Flag Flag No No Yes Yes Yes
§for/for-in loop iteration scope (strict mode) No Yes Yes Yes No Yes No No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§block-level function declaration[11] No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
Functions
§arrow functions MDN (Mozilla Development Network) logo  8/13 11/13 9/13 10/13 8/13 9/13 0/13 0/13 0/13 0/13 8/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 0/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 13/13 0/13 0/13 13/13 13/13 13/13 13/13 13/13 0/13 0/13 7/13 12/13 0/13 0/13 0/13 0/13 9/13 10/13 13/13 13/13 13/13 13/13 13/13 13/13 0/13 0/13 0/13 0/13 0/13 0/13 1/13 0/13 0/13 0/13 0/13 13/13 13/13 13/13
§0 parameters Yes Yes Yes Yes Yes Yes No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§1 parameter, no brackets Yes Yes Yes Yes Yes Yes No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§multiple parameters Yes Yes Yes Yes Yes Yes No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§lexical "this" binding Yes Yes Yes Yes Yes Yes No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§"this" unchanged by call or apply Yes Yes Yes Yes Yes Yes No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§can't be bound, can be curried Yes Yes Yes Yes Yes Yes No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§lexical "arguments" binding No Yes Yes Yes No No No No No No 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 No No Yes Yes Yes Yes Yes No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§no line break between params and => No Yes Yes Yes No Yes No No No No 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 No No Yes Yes Yes Yes Yes No No No Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§correct precedence No Yes No Yes No No No No No No No 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 No No Yes Yes Yes Yes Yes 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 Yes Yes Yes
§no "prototype" property No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§lexical "super" binding in constructors Yes Yes No No Yes Yes No No No No Flag 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 No No Yes Yes Yes Yes Yes No No No Yes No No No No Strict Strict Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§lexical "super" binding in methods Yes Yes Yes Yes Yes Yes No No No No Flag 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 No No Yes Yes Yes Yes Yes No No No Yes No No No No Strict Strict Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§lexical "new.target" binding No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No Yes No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No No Yes Yes Yes
§class MDN (Mozilla Development Network) logo  17/24 17/24 19/24 13/24 16/24 19/24 0/24 0/24 0/24 0/24 0/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 0/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 0/24 16/24 24/24 24/24 24/24 24/24 24/24 0/24 0/24 22/24 24/24 18/24 0/24 0/24 0/24 0/24 0/24 24/24 24/24 24/24 24/24 24/24 24/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 16/24 24/24 24/24 24/24
§class statement Yes Yes Yes Yes Yes Yes No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Strict Strict Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§is block-scoped No No Yes Yes Yes Yes No No No No Flag 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 No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Strict Strict Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes
§class expression Yes Yes Yes Yes Yes Yes No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Strict Strict Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§anonymous class Yes Yes Yes Yes Yes Yes No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Strict Strict Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§constructor Yes Yes Yes Yes Yes Yes No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Strict Strict Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§prototype methods Yes Yes Yes Yes Yes Yes No No No No Flag 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Strict Strict Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes
§string-keyed methods