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 KQ
4.14
[3]
IE 7 IE 8 IE 9 IE 10 IE 11 Edge 12[4] Edge 13[4] Edge 14[4] Edge 15[4] FF 38
ESR
FF 44 FF 45 ESR FF 46 FF 47 FF 48 FF 49 FF 50 FF 51 FF 52 FF 53 Beta FF 54 Aurora FF 55 Nightly OP 12 OP 12.10 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]
CH 58,
OP 45
[1]
CH 59,
OP 46
[1]
SF 5 SF
5.1
SF 6 SF 6.1,
SF 7
SF 7.1,
SF 8
SF 9 SF 10 SF 10.1 SF TP WK Rhino 1.7 PJS Echo JS XS6 JXA Node 0.10[5] Node 0.12[5] io.js[5] Node 4[5] Node 5[5] Node 6.0-6.4[5] Node >=6.5 <7[5] Node 7.0-7.5[5] Node >=7.6 <8[5] 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
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 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 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 2/2
§direct recursion No Flag[6] No No No No[7] No No No No No No 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 Flag Flag Flag Flag Flag Flag Flag Flag No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No No Flag Flag Flag No No No No No No No No No No No No Yes
§mutual recursion No Flag[6] No No No No[7] No No No No No No 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 Flag Flag Flag Flag Flag Flag Flag Flag No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No No Flag Flag Flag No No No No No No No No No No No No Yes
Syntax
§default function parameters 4/7 4/7 4/7 4/7 0/7 5/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 7/7 7/7 3/7 4/7 4/7 4/7 4/7 4/7 4/7 4/7 6/7 6/7 7/7 7/7 7/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 7/7 7/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 4/7 7/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 7/7
§basic functionality Yes Yes Yes Yes No Yes No No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§explicit undefined defers to the default Yes Yes Yes Yes No Yes No No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§defaults can refer to previous params Yes Yes Yes Yes No Yes No No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§arguments object interaction Yes Yes Yes No No Yes No No No No No No No No Flag Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§temporal dead zone No No No No No Yes No No No No No No No Flag Flag Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§separate scope No No No Yes No No No No No No No No No Flag Flag Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§new Function() support No No No No No No[7] No No No No No No No Flag Flag Yes Yes No No No No No No No No No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No[0] Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§rest parameters 2/5 4/5 3/5 2/5 3/5 4/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 5/5 5/5 5/5 5/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 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 0/5 0/5 0/5 0/5 0/5 0/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 0/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
§basic functionality Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No Flag Flag Yes Yes Yes Yes No No No No No No No No No No No No Yes
§function 'length' property Yes Yes Yes No Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No No No Flag Flag Yes Yes Yes Yes No No No No No No No No No No No No Yes
§arguments object interaction No Yes Yes No No Yes No No No No No No No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No Flag Flag Yes Yes Yes Yes No No No No No No No No No No No No Yes
§can't be used in setters No Yes No Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No Flag Flag Yes Yes Yes Yes No No No No No No No No No No No No Yes
§new Function() support No 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 Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No[0] Yes No No No No Flag Flag Yes Yes Yes Yes No No No No No No No No No No No No Yes
§spread (...) operator 8/15 15/15 13/15 12/15 2/15 4/15 0/15 0/15 0/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 15/15 0/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 15/15 15/15 0/15 0/15 0/15 0/15 5/15 9/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 0/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
§with arrays, in function calls Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§with arrays, in array literals Yes Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§with sparse arrays, in function calls Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§with sparse arrays, in array literals No Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§with strings, in function calls No Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§with strings, in array literals No Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No No Yes Yes No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§with astral plane strings, in function calls No 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§with astral plane strings, in array literals No 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No No Yes Yes No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§with generator instances, in calls No Yes Yes Yes No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§with generator instances, in arrays No Yes Yes Yes No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§with generic iterables, in calls Yes[8] Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§with generic iterables, in arrays Yes[8] Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§with instances of iterables, in calls Yes[8] Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§with instances of iterables, in arrays Yes[8] Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§spreading non-iterables is a runtime error Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§object literal extensions 6/6 6/6 6/6 4/6 5/6 6/6 0/6 0/6 0/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 6/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 0/6 0/6 0/6 0/6 1/6 5/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 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 1/6 5/6 6/6
§computed properties Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§shorthand properties Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§shorthand methods Yes Yes Yes Yes Yes Yes No No No No No No No 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] Yes[9] Yes[9] No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§string-keyed shorthand methods Yes Yes Yes No Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§computed shorthand methods Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§computed accessors Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§for..of loops 4/9 9/9 9/9 6/9 2/9 3/9 0/9 0/9 0/9 0/9 0/9 0/9 0/9 6/9 7/9 7/9 9/9 7/9 7/9 7/9 7/9 7/9 7/9 7/9 7/9 7/9 7/9 9/9 9/9 9/9 0/9 0/9 7/9 7/9 7/9 7/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 2/9 8/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 0/9 0/9 0/9 0/9 0/9 0/9 7/9 0/9 0/9 0/9 2/9 8/9 9/9
§with arrays Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No Yes Yes Yes
§with sparse arrays Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No Yes Yes Yes
§with strings No Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No No Yes Yes
§with astral plane strings No 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No No Yes Yes
§with generator instances No Yes Yes Yes No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No No No Yes
§with generic iterables Yes[8] Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No No Yes Yes
§with instances of generic iterables Yes[8] Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No No Yes Yes
§iterator closing, break No Yes Yes No No No No No No No No No No No No No Yes No No No No No No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes 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 Yes Yes
§iterator closing, throw No Yes Yes No No No No No No No No No No No No No Yes No No No No No No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes 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 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 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 4/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 0/4 0/4 0/4 0/4 0/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 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 4/4 4/4
§octal literals Yes Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§binary literals Yes Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§octal supported by Number() No No Yes Yes No Yes[10] Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No No Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§binary supported by Number() No No Yes Yes No Yes[10] Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No No Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§template literals 3/5 4/5 4/5 3/5 4/5 3/5 0/5 0/5 0/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 5/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 0/5 0/5 0/5 0/5 0/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 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
§basic functionality Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No No Yes Yes No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§toString conversion 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 Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§tagged template literals Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§passed array is frozen Yes Yes Yes No Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§line break normalisation No Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§RegExp "y" and "u" flags 0/5 3/5 3/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 2/5 5/5 5/5 5/5 2/5 2/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 0/5 0/5 0/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 0/5 0/5 0/5 0/5 0/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 0/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
§"y" flag No No No No No No[7] No No No No No No No Flag 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 No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§"y" flag, lastIndex No No No No No No[7] No No No No No No No Flag 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 No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§"u" flag No Yes Yes No No No[7] No No No No No No No Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes 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 Yes
§"u" flag, Unicode code point escapes No Yes Yes No No No[7] No No No No No No No Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes 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 Yes
§"u" flag, case folding No Yes Yes No No No[7] No No No No No No No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes 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 Yes
§destructuring, declarations 14/22 20/22 21/22 19/22 12/22 15/22 0/22 0/22 0/22 0/22 0/22 0/22 0/22 0/22 0/22 21/22 22/22 19/22 19/22 19/22 19/22 21/22 21/22 21/22 21/22 21/22 21/22 22/22 22/22 22/22 0/22 0/22 0/22 0/22 21/22 21/22 22/22 22/22 22/22 22/22 22/22 22/22 22/22 22/22 22/22 0/22 0/22 0/22 0/22 9/22 19/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 0/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
§with arrays Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§with sparse arrays Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§with strings Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§with astral plane strings No Yes Yes No No No No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§with generator instances No Yes Yes Yes No No No No No No No No No No Flag 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 No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§with generic iterables No Yes Yes Yes No No No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§with instances of generic iterables No Yes Yes Yes No No No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§iterator closing No Yes Yes No No No No No No No No No No No No No Yes No No No No No No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes 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 Yes Yes
§trailing commas in iterable patterns Yes No Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§with objects Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§object destructuring with primitives Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§trailing commas in object patterns Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§throws on null and undefined Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§computed properties Yes Yes Yes Yes No Yes No No No No No No No No Flag 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 No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§multiples in a single var statement Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§nested Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§in for-in loop heads No Yes Yes Yes No No No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§in for-of loop heads Yes Yes Yes Yes No Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§in catch heads No 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 No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes 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 Yes
§rest Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§defaults Yes Yes Yes Yes No Yes No No No No No No No No Flag Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§defaults, let temporal dead zone No No Flag No No Yes No No No No No No No No Flag Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§destructuring, assignment 17/24 23/24 24/24 17/24 11/24 19/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 23/24 24/24 20/24 21/24 21/24 21/24 23/24 23/24 23/24 23/24 23/24 23/24 24/24 24/24 24/24 0/24 0/24 0/24 0/24 23/24 23/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 24/24 0/24 0/24 0/24 0/24 12/24 21/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 0/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
§with arrays Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§with sparse arrays Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§with strings Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§with astral plane strings No Yes Yes No No No No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§with generator instances No Yes Yes Yes No No No No No No No No No No Flag 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 No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§with generic iterables No Yes Yes Yes No No No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§with instances of generic iterables No Yes Yes Yes No No No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§iterator closing No No Yes No No No No No No No No No No No No No Yes No No No No No No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes 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 Yes Yes
§iterable destructuring expression Yes Yes Yes No No Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§chained iterable destructuring Yes Yes Yes No No Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§trailing commas in iterable patterns Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§with objects Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§object destructuring with primitives Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§trailing commas in object patterns Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§object destructuring expression Yes Yes Yes No No Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§parenthesised left-hand-side is a syntax error No Yes Yes Yes No Yes No No No No No No No No Flag Yes Yes No 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 No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§chained object destructuring Yes Yes Yes No No Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§throws on null and undefined Yes Yes Yes No Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§computed properties Yes Yes Yes Yes No Yes No No No No No No No No Flag 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 No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§nested Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§rest Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§nested rest No Yes Yes Yes No Yes No No No No No No No No Flag Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§empty patterns Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§defaults Yes Yes Yes Yes No Yes No No No No No No No No Flag Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§destructuring, parameters 15/23 19/23 20/23 18/23 12/23 15/23 0/23 0/23 0/23 0/23 0/23 0/23 0/23 0/23 0/23 22/23 23/23 18/23 18/23 18/23 18/23 19/23 19/23 19/23 19/23 20/23 20/23 23/23 23/23 23/23 0/23 0/23 0/23 0/23 22/23 22/23 23/23 23/23 23/23 23/23 23/23 23/23 23/23 23/23 23/23 0/23 0/23 0/23 0/23 10/23 18/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 0/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
§with arrays Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§with sparse arrays Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§with strings Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§with astral plane strings No Yes Yes No No No No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§with generator instances No Yes Yes Yes No No No No No No No No No No Flag 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 No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§with generic iterables No Yes Yes Yes No No No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§with instances of generic iterables No Yes Yes Yes No No No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§iterator closing No No Yes No No No No No No No No No No No No No Yes No No No No No No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes 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 Yes Yes
§trailing commas in iterable patterns Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§with objects Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§object destructuring with primitives Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§trailing commas in object patterns Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§throws on null and undefined Yes Yes Yes No Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§computed properties Yes Yes Yes Yes No Yes No No No No No No No No Flag 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 No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§nested Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§'arguments' interaction Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§new Function() support No No No No No No[7] No No No No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§in parameters, function 'length' property Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes
§rest Yes Yes Yes Yes Yes Yes No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§empty patterns Yes Yes Yes Yes No Yes No No No No No No No No Flag 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 No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§defaults Yes Yes Yes Yes No Yes No No No No No No No No Flag Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§defaults, separate scope No No No Yes No No No No No No No No No No Flag Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§defaults, new Function() support No No No No No No[7] No No No No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No[0] Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No 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 0/2 0/2 0/2 2/2 2/2 2/2 2/2 0/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 2/2 2/2 2/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 2/2 2/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 2/2 2/2 2/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 2/2 2/2
§in strings Yes Yes Yes Yes No Yes No No No No No No No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§in identifiers 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 Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No No Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes
§new.target 0/2 0/2 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 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 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 2/2 2/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 2/2 2/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 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2
§in constructors No No No No No No No No No No No No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§assignment is an early error No No No No 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 Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
Bindings
§const 10/16 14/16 14/16 14/16 0/16 14/16 0/16 2/16 0/16 0/16 0/16 0/16 12/16 12/16 12/16 16/16 16/16 12/16 12/16 12/16 12/16 12/16 12/16 12/16 12/16 16/16 16/16 16/16 16/16 16/16 1/16 1/16 9/16 9/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 0/16 1/16 1/16 1/16 1/16 1/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 1/16 1/16 1/16 1/16 1/16 1/16 1/16 0/16 1/16 1/16 1/16 1/16 16/16
§basic support Yes Yes 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 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 No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes
§is block-scoped Yes Yes Yes Yes No Yes 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 No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§cannot be in statements Yes Yes Yes Yes No Yes 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 No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§redefining a const is an error Yes Yes Yes Yes No Yes 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 No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§for loop statement scope Yes Yes Yes Yes No Yes 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 No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§for-in loop iteration scope No Yes Yes Yes No Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§for-of loop iteration scope No Yes Yes Yes No Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§temporal dead zone No No Flag 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 No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes Yes No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§basic support (strict mode) Yes Yes 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 Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§is block-scoped (strict mode) Yes Yes Yes Yes No Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§cannot be in statements (strict mode) Yes Yes Yes Yes No Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§redefining a const (strict mode) Yes Yes Yes Yes No Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§for loop statement scope (strict mode) Yes Yes Yes Yes No Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§for-in loop iteration scope (strict mode) No Yes Yes Yes No Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§for-of loop iteration scope (strict mode) No Yes Yes Yes No Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§temporal dead zone (strict mode) No No Flag 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§let 8/12 10/12 10/12 10/12 0/12 10/12 0/12 0/12 0/12 0/12 0/12 0/12 10/12 10/12 10/12 12/12 12/12 0/12 10/12 10/12 10/12 10/12 10/12 10/12 10/12 12/12 12/12 12/12 12/12 12/12 0/12 0/12 6/12 6/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 0/12 0/12 0/12 0/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 0/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
§basic support Yes Yes Yes Yes No Yes No No No No No No Yes Yes Yes Yes Yes Flag[11] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§is block-scoped Yes Yes Yes Yes No Yes No No No No No No Yes Yes Yes Yes Yes Flag[11] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§cannot be in statements Yes Yes Yes Yes No Yes No No No No No No Yes Yes Yes Yes Yes Flag[11] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§for loop statement scope Yes Yes Yes Yes No Yes No No No No No No Yes Yes Yes Yes Yes Flag[11] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§temporal dead zone No No Flag No No No No No No No No No Yes Yes Yes Yes Yes Flag[11] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§for/for-in loop iteration scope No Yes Yes Yes No Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes
§basic support (strict mode) Yes Yes Yes Yes No Yes No No No No No No Yes Yes Yes Yes Yes Flag[11] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§is block-scoped (strict mode) Yes Yes Yes Yes No Yes No No No No No No Yes Yes Yes Yes Yes Flag[11] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§cannot be in statements (strict mode) Yes Yes Yes Yes No Yes No No No No No No Yes Yes Yes Yes Yes Flag[11] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§for loop statement scope (strict mode) Yes Yes Yes Yes No Yes No No No No No No Yes Yes Yes Yes Yes Flag[11] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§temporal dead zone (strict mode) No No Flag No No No No No No No No No Yes Yes Yes Yes Yes Flag[11] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§for/for-in loop iteration scope (strict mode) No Yes Yes Yes No Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§block-level function declaration[12] No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
Functions
§arrow functions 8/13 11/13 9/13 10/13 8/13 9/13 0/13 0/13 0/13 0/13 0/13 0/13 0/13 8/13 13/13 13/13 13/13 8/13 11/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 11/13 11/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 0/13 0/13 0/13 0/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 0/13 0/13 0/13 0/13 0/13 0/13 0/13 0/13 0/13 0/13 0/13 0/13 13/13
§0 parameters Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§1 parameter, no brackets Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§multiple parameters Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§lexical "this" binding Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§"this" unchanged by call or apply Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§can't be bound, can be curried Yes Yes Yes Yes Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§lexical "arguments" binding No Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes
§no line break between params and => No Yes Yes Yes No Yes No No No No No No No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No No No Yes No No No No Yes Yes