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 Traceur Babel +
core-js
[2]
ES6
Trans-
piler
Closure JSX[3] Type-
Script +
core-js
es6-
shim
IE 10 IE 11 Edge 12[4] Edge 13[4] Edge 14[4] FF 31
ESR
FF 38
ESR
FF 40 FF 41 FF 42 FF 43 FF 44 FF 45 ESR FF 46 FF 47 FF 48 FF 49 FF 50 Beta FF 51 Aurora FF 52 Nightly CH <19 CH 39,
OP 26
[1]
CH 40,
OP 27
[1]
CH 41,
OP 28
[1]
CH 42,
OP 29
[1]
CH 43,
OP 30
[1]
CH 44,
OP 31
[1]
CH 45,
OP 32
[1]
CH 46,
OP 33
[1]
CH 47,
OP 34
[1]
CH 48,
OP 35
[1]
CH 49,
OP 36
[1]
CH 50,
OP 37
[1]
CH 51,
OP 38
[1]
CH 52,
OP 39
[1]
CH 53,
OP 40
[1]
CH 54,
OP 41
[1]
CH 55,
OP 42
[1]
CH 56,
OP 43
[1]
SF 5.1 SF 6 SF 6.1,
SF 7
SF 7.1,
SF 8
SF 9 SF 10 SF TP WK OP 12 KQ
4.14
[5]
RH PJS Node
0.12
[6]
io.js
3.3
[6]
Node
4
[6]
Node
5
[6]
Node
6.0-6.4
[6]
Node
6.5
[6]
Echo JS XS6 JXA AN 4.0 AN 4.1 AN 4.2 AN 4.3 AN 4.4 AN 5.0 AN 5.1 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 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2
§direct recursion Flag[7] No No No No No[8] No No No No No No No No No No 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 No No No No No Yes Yes Yes No No No No No No No No No Flag No Yes No No No No No No No No No No No Yes
§mutual recursion Flag[7] No No No No No[8] No No No No No No No No No No 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 No No No No No Yes Yes Yes No No No No No No No No No Flag No Yes 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 7/7 3/7 3/7 3/7 3/7 3/7 4/7 4/7 4/7 4/7 4/7 4/7 4/7 4/7 6/7 6/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 0/7 0/7 0/7 0/7 0/7 7/7 7/7 7/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 7/7 7/7 4/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
§basic functionality Yes Yes Yes Yes No Yes No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes 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 Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes 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 Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes 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 Flag Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§temporal dead zone No No No No No Yes No No No Flag Flag Yes No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§separate scope No No No Yes No No No No No Flag Flag Yes No No No No No No No No No No No No No Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§new Function() support No No No No No No[8] No No No Flag Flag Yes No No No No No No No No No No No No No No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No[0] Yes No No No No No No No No No No No Yes
§rest parameters 4/5 3/5 2/5 2/5 3/5 4/5 0/5 0/5 0/5 5/5 5/5 5/5 3/5 4/5 4/5 4/5 4/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 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 0/5 0/5 0/5 0/5 0/5 5/5 5/5 5/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 5/5 5/5 3/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
§basic functionality Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Flag Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Flag Flag Flag Yes Yes Yes Yes No No No No No No No No No No No Yes
§function 'length' property Yes Yes Yes No Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Flag Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Flag Flag Flag Yes Yes No Yes No No No No No No No No No No No Yes
§arguments object interaction Yes Yes No No No Yes No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Flag Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Flag Flag Flag Yes Yes Yes Yes No No No No No No No No No No No Yes
§can't be used in setters Yes No No Yes Yes Yes No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Flag Flag Yes Yes Yes Yes No No No No No No No No No No No Yes
§new Function() support 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 No No No Flag Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Flag Flag Flag Yes Yes No[0] Yes No No No No No No No No No No No Yes
§spread (...) operator 15/15 13/15 8/15 12/15 2/15 4/15 0/15 0/15 0/15 12/15 15/15 15/15 11/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 0/15 0/15 0/15 0/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 0/15 0/15 0/15 5/15 9/15 15/15 15/15 15/15 0/15 0/15 0/15 0/15 0/15 0/15 0/15 15/15 15/15 15/15 10/15 15/15 11/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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No Flag Flag Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No Flag Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§with sparse arrays, in array literals 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No Flag Yes Yes Yes No Yes Yes No No No No No No No No Yes Yes Yes
§with strings, in function calls 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 Yes Yes No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Flag Flag Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
§with strings, in array literals 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 Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No Flag Yes Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§with astral plane strings, in function calls 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 Yes No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Flag Flag Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
§with astral plane strings, in array literals 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 Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No Flag Yes Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§with generator instances, in calls Yes Yes No Yes No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Flag Flag Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
§with generator instances, in arrays Yes Yes No Yes No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Flag Yes Yes Yes No Yes No No No No No No No No No No No Yes
§with generic iterables, in calls Yes Yes Yes[9] Yes No No No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§with generic iterables, in arrays Yes Yes Yes[9] Yes No No No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§with instances of iterables, in calls Yes Yes Yes[9] Yes No No No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§with instances of iterables, in arrays Yes Yes Yes[9] Yes No No No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§spreading non-iterables is a runtime error Yes No Yes Yes No Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No Flag Flag Yes Yes Yes No Yes Yes 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 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 6/6 6/6 6/6 0/6 0/6 0/6 0/6 0/6 3/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 1/6 5/6 6/6 6/6 6/6 0/6 0/6 0/6 0/6 0/6 6/6 6/6 6/6 6/6 6/6 5/6 6/6 5/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 Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§shorthand properties Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§shorthand methods Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes[10] Yes[10] Yes[10] Yes[10] Yes[10] Yes[10] Yes[10] Yes[10] Yes[10] Yes[10] Yes[10] Yes[10] Yes[10] Yes[10] No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§string-keyed shorthand methods Yes Yes Yes No Yes Yes No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§computed shorthand methods Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§computed accessors Yes Yes Yes No No Yes No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No Yes No No No No No No No No No No No Yes
§for..of loops 9/9 9/9 4/9 6/9 2/9 3/9 0/9 0/9 0/9 6/9 7/9 7/9 5/9 7/9 7/9 7/9 7/9 7/9 7/9 7/9 7/9 7/9 7/9 7/9 7/9 7/9 7/9 0/9 7/9 7/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 9/9 9/9 9/9 0/9 0/9 0/9 2/9 8/9 9/9 9/9 9/9 0/9 0/9 0/9 0/9 7/9 7/9 7/9 7/9 7/9 9/9 7/9 9/9 8/9 0/9 0/9 0/9 0/9 0/9 0/9 7/9 0/9 2/9 8/9 9/9
§with arrays Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§with sparse arrays Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§with strings Yes Yes No Yes No Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§with astral plane strings 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 Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§with generator instances Yes Yes No Yes No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§with generic iterables Yes Yes Yes[9] Yes No No No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§with instances of generic iterables Yes Yes Yes[9] Yes No No No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§iterator closing, break Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No No Yes No Yes Yes No No No No No No No No No Yes Yes
§iterator closing, throw Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No No Yes No Yes Yes No No No No No No No No No Yes Yes
§octal and binary literals 2/4 4/4 2/4 4/4 0/4 4/4 2/4 0/4 0/4 4/4 4/4 4/4 2/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 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 0/4 0/4 0/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 2/4 4/4 4/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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag 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 No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§binary literals 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 Yes No Flag 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 No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§octal supported by Number() No Yes No Yes No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag 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 No No No No Flag Yes Yes Yes Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§binary supported by Number() No Yes No Yes No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag 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 No No No No Flag Yes Yes Yes Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§template literals 4/5 4/5 3/5 3/5 4/5 3/5 0/5 0/5 0/5 4/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 5/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 5/5 5/5 5/5 5/5 5/5 5/5 5/5 5/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 5/5 5/5 5/5 5/5 5/5 4/5 5/5 5/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 Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§toString conversion 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 Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§tagged template literals Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§passed array is frozen Yes Yes Yes No Yes No No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§line break normalisation Yes Yes No Yes Yes Yes No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§RegExp "y" and "u" flags 3/5 3/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 2/5 5/5 5/5 2/5 2/5 2/5 2/5 2/5 2/5 2/5 2/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 0/5 2/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 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 5/5 5/5 2/5 2/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[8] No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"y" flag, lastIndex No No No No No No[8] No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"u" flag Yes Yes No No No No[8] No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No No No No No No No No No No No No No Yes
§"u" flag, Unicode code point escapes Yes Yes No No No No[8] No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No No No No No No No No No No No No No Yes
§"u" flag, case folding Yes Yes No No No No[8] No No No No Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No No No No No No No No No No No No No Yes
§destructuring, declarations 20/22 21/22 14/22 18/22 12/22 15/22 0/22 0/22 0/22 0/22 0/22 21/22 13/22 19/22 19/22 19/22 19/22 19/22 19/22 19/22 19/22 21/22 21/22 21/22 21/22 21/22 21/22 0/22 0/22 0/22 0/22 0/22 0/22 0/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 0/22 0/22 0/22 9/22 19/22 22/22 22/22 22/22 0/22 0/22 0/22 0/22 0/22 0/22 0/22 0/22 21/22 22/22 12/22 21/22 19/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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§with sparse arrays 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§with strings 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§with astral plane strings Yes Yes No No No No No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§with generator instances Yes Yes No Yes No No No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§with generic iterables Yes Yes No Yes No No No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§with instances of generic iterables Yes Yes No Yes No No No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§iterator closing Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No No Yes No Yes Yes No No No No No No No No No Yes Yes
§trailing commas in iterable patterns No Yes Yes No Yes Yes 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 No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§with objects 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§computed properties Yes Yes Yes Yes No Yes No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§nested 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No Yes Yes Yes
§in for-in loop heads Yes Yes No Yes 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 No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No Yes Yes Yes
§in catch heads Yes Yes No 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 No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No No No No No No No No No No No No No Yes
§rest Yes Yes Yes Yes Yes Yes No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§defaults Yes Yes Yes Yes No Yes No No No No Flag Yes 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 Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§defaults, let temporal dead zone No Flag No No No Yes No No No No Flag Yes 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 Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§destructuring, assignment 23/24 24/24 17/24 16/24 11/24 19/24 0/24 0/24 0/24 0/24 0/24 23/24 14/24 20/24 20/24 21/24 21/24 21/24 21/24 21/24 21/24 23/24 23/24 23/24 23/24 23/24 23/24 0/24 0/24 0/24 0/24 0/24 0/24 0/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 0/24 0/24 0/24 12/24 21/24 24/24 24/24 24/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 23/24 24/24 14/24 24/24 21/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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§with sparse arrays 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§with strings 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§with astral plane strings Yes Yes No No No No No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§with generator instances Yes Yes No Yes No No No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§with generic iterables Yes Yes No Yes No No No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§with instances of generic iterables Yes Yes No Yes No No No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§iterator closing No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No No Yes No Yes Yes No No No No No No No No No Yes Yes
§iterable destructuring expression Yes Yes Yes No No Yes 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 No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§chained iterable destructuring Yes Yes Yes No No Yes 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 No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§trailing commas in iterable patterns Yes Yes Yes No Yes Yes 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 No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§with objects 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§object destructuring expression Yes Yes Yes No No Yes 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 No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No Yes Yes Yes
§parenthesised left-hand-side is a syntax error Yes Yes No Yes No Yes No No No No Flag Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No Yes Yes Yes
§chained object destructuring Yes Yes Yes No No Yes 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 No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§computed properties Yes Yes Yes Yes No Yes No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§nested 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No Yes Yes Yes
§rest Yes Yes Yes Yes Yes Yes No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§nested rest Yes Yes No Yes No Yes No No No No Flag Yes 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 Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§empty patterns 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§defaults Yes Yes Yes Yes No Yes No No No No Flag Yes 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 Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§destructuring, parameters 19/23 20/23 15/23 17/23 12/23 15/23 0/23 0/23 0/23 0/23 0/23 22/23 12/23 18/23 18/23 18/23 18/23 18/23 18/23 18/23 18/23 19/23 19/23 19/23 19/23 20/23 20/23 0/23 0/23 0/23 0/23 0/23 0/23 0/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 0/23 0/23 0/23 10/23 18/23 23/23 23/23 23/23 0/23 0/23 0/23 0/23 0/23 0/23 0/23 0/23 22/23 23/23 12/23 23/23 18/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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§with sparse arrays 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§with strings 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§with astral plane strings Yes Yes No No No No No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§with generator instances Yes Yes No Yes No No No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§with generic iterables Yes Yes No Yes No No No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§with instances of generic iterables Yes Yes No Yes No No No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§iterator closing No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No No Yes No Yes Yes No No No No No No No No No Yes Yes
§trailing commas in iterable patterns Yes Yes Yes No Yes Yes 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 No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§with objects 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§computed properties Yes Yes Yes Yes No Yes No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§nested 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No Yes Yes Yes
§'arguments' interaction 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No Yes Yes Yes
§new Function() support No No No No No No[8] No No No No Flag Yes No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes 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 Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No Yes Yes Yes
§rest Yes Yes Yes Yes Yes Yes No No No No Flag Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§empty patterns Yes Yes Yes Yes No Yes 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 No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§defaults Yes Yes Yes Yes No Yes No No No No Flag Yes 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 Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes 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 Flag Yes No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§defaults, new Function() support No No No No No No[8] No No No No Flag Yes No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No[0] Yes 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 2/2 2/2 2/2 0/2 0/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 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 0/2 0/2 0/2 2/2 2/2
§in strings Yes Yes Yes Yes No Yes 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§in identifiers No No No No No No No No No Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes 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 1/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 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 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 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 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 Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No Yes Yes Yes Yes Yes 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 Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
Bindings
§const 14/16 14/16 10/16 14/16 0/16 14/16 0/16 0/16 12/16 12/16 12/16 16/16 3/16 12/16 12/16 12/16 12/16 12/16 12/16 12/16 12/16 12/16 12/16 12/16 12/16 16/16 16/16 1/16 1/16 1/16 9/16 9/16 9/16 9/16 9/16 9/16 9/16 9/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 16/16 1/16 1/16 1/16 1/16 1/16 16/16 16/16 16/16 1/16 2/16 0/16 1/16 1/16 9/16 9/16 9/16 16/16 16/16 8/16 16/16 10/16 1/16 1/16 1/16 1/16 1/16 1/16 1/16 1/16 1/16 1/16 16/16
§basic support Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§is block-scoped Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§cannot be in statements Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§redefining a const is an error Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No No No Yes
§for loop statement scope Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[0] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§for-in loop iteration scope Yes Yes No Yes No Yes No No No No No Yes No No No No No No No No No No No No No Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§for-of loop iteration scope Yes Yes No Yes No Yes No No No No No Yes No No No No No No No No No No No No No Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§temporal dead zone No Flag No No No No No No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No No No Yes
§basic support (strict mode) Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Flag Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No Yes No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§is block-scoped (strict mode) Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§redefining a const (strict mode) Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes No Yes Yes 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 Yes Yes Yes Yes Flag[0] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
§for-in loop iteration scope (strict mode) Yes Yes No Yes No Yes No No No No No Yes No No No No No No No No No No No No No Yes Yes No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes No Yes No No No No No No No No No No No Yes
§for-of loop iteration scope (strict mode) Yes Yes No Yes No Yes No No No No No Yes No No No No No No No No No No No No No Yes Yes No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes No Yes No No No No No No No No No No No Yes
§temporal dead zone (strict mode) No Flag No No No No No No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes No Yes Yes No No No No No No No No No No Yes
§let 10/12 10/12 8/12 10/12 0/12 10/12 0/12 0/12 10/12 10/12 10/12 12/12 0/12 0/12 0/12 0/12 0/12 0/12 10/12 10/12 10/12 10/12 10/12 10/12 10/12 12/12 12/12 0/12 0/12 0/12 6/12 6/12 6/12 6/12 6/12 6/12 6/12 6/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 12/12 12/12 12/12 0/12 0/12 0/12 0/12 0/12 6/12 6/12 6/12 12/12 12/12 8/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
§basic support Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§is block-scoped Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§cannot be in statements Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§for loop statement scope Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§temporal dead zone No Flag No No No No No No Yes Yes Yes Yes No Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§for/for-in loop iteration scope Yes Yes No Yes No Yes No No No No No Yes No No No No No No No No No No No No No Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§basic support (strict mode) Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
§temporal dead zone (strict mode) No Flag No No No No No No Yes Yes Yes Yes No Flag[12] Flag[12] Flag[12] Flag[12] Flag[12] Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes No Yes No No No No No No No No No No No Yes
§for/for-in loop iteration scope (strict mode) Yes Yes No Yes No Yes No No No No No Yes No No No No No No No No No No No No No Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes No Yes No No No No No No No No No No No Yes
§block-level function declaration[13] Yes Yes No Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes No Yes No No No No No No No No No No No Yes
Functions
§arrow functions 11/13 9/13 8/13 10/13 8/13 9/13 0/13 0/13 0/13 8/13 13/13 13/13 8/13 8/13 9/13 10/13 10/13 11/13 11/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 0/13 9/13 10/13 11/13 11/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 13/13 13/13 13/13 0/13 0/13 0/13 0/13 0/13 0/13 9/13 10/13 13/13 13/13 7/13 12/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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag No Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
§multiple parameters Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
§lexical "this" binding Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
§lexical "arguments" binding Yes Yes No Yes No No No No No Yes Yes Yes No No No No No Yes Yes Yes Yes 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 No No No No No Yes 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
§no line break between params and => Yes Yes No Yes No Yes 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes No Yes No No No No No No No No No No No Yes
§correct precedence Yes No 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 No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No No No No No No No No No No No No No Yes
§no "prototype" property 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 Flag No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes No Yes No No No No No No No No No No No Yes
§lexical "super" binding in constructors Yes No Yes No Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Strict Strict Yes Yes No Yes No No No No No No No No No No No Yes
§lexical "super" binding in methods Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Strict Strict Yes Yes No Yes No No No No No No No No No No No Yes
§lexical "new.target" binding No No No No No No No No No No Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No Yes Yes Yes No Yes No No No No No No No No No No No Yes
§class 17/24 19/24 17/24 13/24 16/24 19/24 0/24 0/24 0/24 0/24 24/24 24/24 0/24 0/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 0/24 0/24 0/24 0/24 0/24 0/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 0/24 0/24 0/24 0/24 16/24 24/24 24/24 24/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 24/24 24/24 22/24 24/24 18/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 16/24 24/24
§class statement Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§is block-scoped No Yes No Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§class expression Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§anonymous class Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§constructor Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§prototype methods Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§string-keyed methods Yes Yes Yes No Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§computed prototype methods Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Strict Strict Yes Yes Yes Yes No No No No No No No No No No No Yes
§optional semicolons Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§static methods Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§computed static methods Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Strict Strict Yes Yes Yes Yes No No No No No No No No No No No Yes
§accessor properties Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§computed accessor properties Yes Yes Yes Yes No Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Strict Strict Yes Yes Yes Yes No No No No No No No No No No No Yes
§static accessor properties Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§computed static accessor properties Yes Yes Yes No No Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Strict Strict Yes Yes Yes Yes No No No No No No No No No No No Yes
§class name is lexically scoped Yes Yes Yes No No Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§computed names, temporal dead zone No No No No No Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Strict Strict Yes Yes No Yes No No No No No No No No No No No Yes
§methods aren't enumerable No Yes No No Yes No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§implicit strict mode Yes Yes Yes No Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§constructor requires new No Yes No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§extends No[0] No[0] No[14] No[15] No[15] No[16] No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§extends expressions No[14] No[14] No[14] No No[15] No[16] No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§extends null Yes No Yes No Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§new.target No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No Strict Yes Yes Yes Yes No No No No No No No No No No No Yes
§super 7/8 4/8 7/8 5/8 7/8 7/8 0/8 0/8 0/8 0/8 8/8 8/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 0/8 0/8 0/8 0/8 6/8 8/8 8/8 8/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 8/8 8/8 6/8 8/8 7/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 6/8 8/8
§statement in constructors Yes No Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§expression in constructors Yes No Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§in methods, property access Yes Yes Yes No Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§in methods, method calls Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§method calls use correct "this" binding Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§constructor calls use correct "new.target" binding No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No Strict Yes Yes Yes Yes No No No No No No No No No No No Yes
§is statically bound Yes Yes Yes No Yes Yes No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§super() invokes the correct constructor Yes No Yes Yes Yes Yes No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§generators 24/27 24/27 0/27 16/27 0/27 0/27 0/27 0/27 0/27 0/27 27/27 27/27 14/27 20/27 20/27 20/27 20/27 21/27 21/27 25/27 25/27 25/27 25/27 25/27 25/27 25/27 25/27 0/27 16/27 16/27 16/27 18/27 18/27 19/27 20/27 20/27 20/27 20/27 23/27 27/27 27/27 27/27 27/27 27/27 27/27 27/27 0/27 0/27 0/27 0/27 0/27 27/27 27/27 27/27 0/27 0/27 0/27 0/27 0/27 19/27 20/27 20/27 27/27 27/27 16/27 27/27 0/27 0/27 0/27 0/27 0/27 0/27 0/27 16/27 0/27 0/27 0/27 27/27
§basic functionality Yes Yes[17] No Yes No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§generator function expressions Yes Yes[17] No Yes No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§correct "this" binding Yes Yes[17] No Yes No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§can't use "this" with new No No No No No No No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§sending Yes Yes[17] No Yes No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§%GeneratorPrototype% Yes Yes[17] No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes No Yes No No No No No No No Yes No No No Yes
§%GeneratorPrototype% prototype chain Yes Yes[17] No No No No No No No Flag Yes Yes No No No No No No No Yes Yes 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 No No No No No Yes Yes Yes No No No No Flag No Yes Yes Yes Yes No Yes No No No No No No No No No No No Yes
§%GeneratorPrototype%.constructor 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 Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes No Yes No No No No No No No Yes No No No Yes
§%GeneratorPrototype%.throw Yes Yes[17] No Yes No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§%GeneratorPrototype%.return Yes Yes[17] No No No No No No No Flag Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§yield operator precedence Yes Yes[17] No Yes No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§yield *, arrays Yes Yes[17] No Yes No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§yield *, sparse arrays Yes Yes[17] No Yes No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§yield *, strings Yes Yes[17] No Yes No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§yield *, astral plane strings Yes Yes[17] No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§yield *, generator instances Yes Yes[17] No Yes No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§yield *, generic iterables Yes Yes[17] No Yes No No No No No Flag Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§yield *, instances of iterables Yes Yes[17] No Yes No No No No No Flag Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No Yes
§yield * on non-iterables is a runtime error 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 Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes No Yes No No No No No No No Yes No No No Yes
§yield *, iterator closing Yes Yes[17] No No No No No No No Flag Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§yield *, iterator closing via throw() Yes Yes[17] No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§shorthand generator methods Yes Yes[17] No Yes No No No No No Flag Yes Yes No 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 Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
§string-keyed shorthand generator methods Yes Yes[17] No No No No No No No Flag Yes Yes No 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 Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
§computed shorthand generators Yes Yes[17] No Yes No No No No No Flag Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
§shorthand generator methods, classes Yes Yes[17] No Yes No No No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes No Yes No No No No No No No No No No No Yes
§computed shorthand generators, classes Yes Yes[17] No Yes No No No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Strict Strict Yes Yes No Yes No No No No No No No No No No No Yes
§shorthand generators can't be constructors No Yes[17] No No No No No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes No Yes No No No No No No No No No No No Yes
Built-ins
§typed arrays 0/46 45/46 0/46 0/46 0/46 45/46 0/46 16/46 16/46 42/46 44/46 46/46 18/46 41/46 41/46 41/46 41/46 41/46 42/46 42/46 43/46 43/46 45/46 45/46 45/46 45/46 45/46 19/46 23/46 23/46 23/46 23/46 23/46 23/46 43/46 43/46 43/46 43/46 43/46 43/46 46/46 46/46 46/46 46/46 46/46 46/46 16/46 18/46 18/46 18/46 18/46 46/46 46/46 46/46 19/46 8/46 0/46 18/46 23/46 23/46 43/46 43/46 43/46 46/46 37/46 46/46 46/46 15/46 16/46 16/46 16/46 19/46 19/46 23/46 18/46 18/46 18/46 46/46
§Int8Array No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Uint8Array No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Uint8ClampedArray No Yes No No No Yes[11] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes
§Int16Array No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Uint16Array No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Int32Array No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Uint32Array No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Float32Array No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Float64Array No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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
§DataView (Int8) No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§DataView (Uint8) No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§DataView (Int16) No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§DataView (Uint16) No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§DataView (Int32) No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§DataView (Uint32) No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§DataView (Float32) No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§DataView (Float64) No Yes No No No Yes[11] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§ArrayBuffer[Symbol.species] No Yes No No No Yes[11] No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§constructors require new No Yes No No No Yes[11] No No No No 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes No No No Yes
§constructors accept generic iterables No Yes No No No Yes[11] No No No No No Yes No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes No Yes Yes No No No No No No No No No No Yes
§correct prototype chains 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 Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No Yes No Yes Yes No No No No No No No No No No Yes
§%TypedArray%.from No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes No Yes Yes No No No No No No No No No No Yes
§%TypedArray%.of No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.subarray No Yes No No No Yes[11] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes
§%TypedArray%.prototype.join No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.indexOf No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.lastIndexOf No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.slice No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes No Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.every No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.filter No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes No Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.forEach No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.map No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes No Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.reduce No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.reduceRight No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.reverse No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.some No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.sort No Yes No No No Yes[11] No No No Yes Yes Yes No No No No No No No No Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes No Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.copyWithin No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.find No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.findIndex No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.fill No Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§%TypedArray%.prototype.keys No Yes No No No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No Yes
§%TypedArray%.prototype.values No Yes No No No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No Yes
§%TypedArray%.prototype.entries No Yes No No No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No No Yes
§%TypedArray%.prototype[Symbol.iterator] No Yes No No No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No Yes
§%TypedArray%[Symbol.species] No Yes No No No Yes[11] No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§Map 14/19 19/19 0/19 14/19 0/19 19/19 15/19 0/19 8/19 16/19 18/19 18/19 11/19 15/19 15/19 16/19 17/19 17/19 17/19 18/19 18/19 18/19 18/19 18/19 18/19 18/19 18/19 0/19 16/19 16/19 16/19 16/19 16/19 16/19 17/19 17/19 17/19 17/19 17/19 17/19 19/19 19/19 19/19 19/19 19/19 19/19 0/19 0/19 0/19 11/19 18/19 19/19 19/19 19/19 0/19 0/19 0/19 0/19 13/19 16/19 17/19 17/19 17/19 19/19 17/19 19/19 18/19 0/19 0/19 0/19 0/19 0/19 0/19 16/19 0/19 11/19 18/19 19/19
§basic functionality Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§constructor arguments Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§constructor requires new No Yes No No No Yes[11] Yes No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§constructor accepts null Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§constructor invokes set No Yes No Yes No Yes[11] Yes No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§iterator closing No Yes No No No Yes[11] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No No Yes No Yes Yes No No No No No No No No No Yes Yes
§Map.prototype.set returns this Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§-0 key converts to +0 No Yes No No No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No Yes Yes
§Map.prototype.size Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Map.prototype.delete Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Map.prototype.clear Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Map.prototype.forEach Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Map.prototype.keys Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Map.prototype.values Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Map.prototype.entries Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Map.prototype[Symbol.iterator] Yes Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§Map.prototype isn't an instance Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Map iterator prototype chain Yes Yes No No No Yes[11] No No No No Yes Yes No No No No No No No Yes Yes 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 No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Map[Symbol.species] No Yes No No No Yes[11] No No No No Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes No No No No No No No No No No No Yes
§Set 14/19 19/19 0/19 14/19 0/19 19/19 15/19 0/19 8/19 16/19 18/19 18/19 11/19 15/19 15/19 16/19 17/19 17/19 17/19 18/19 18/19 18/19 18/19 18/19 18/19 18/19 18/19 0/19 16/19 16/19 16/19 16/19 16/19 16/19 17/19 17/19 17/19 17/19 17/19 17/19 19/19 19/19 19/19 19/19 19/19 19/19 0/19 0/19 0/19 11/19 18/19 19/19 19/19 19/19 0/19 0/19 0/19 0/19 13/19 16/19 17/19 17/19 17/19 19/19 18/19 19/19 18/19 0/19 0/19 0/19 0/19 0/19 0/19 16/19 0/19 11/19 18/19 19/19
§basic functionality Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§constructor arguments Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§constructor requires new No Yes No No No Yes[11] Yes No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§constructor accepts null Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§constructor invokes add No Yes No Yes No Yes[11] Yes No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§iterator closing No Yes No No No Yes[11] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No No Yes No Yes Yes No No No No No No No No No Yes Yes
§Set.prototype.add returns this Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§-0 key converts to +0 No Yes No No No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§Set.prototype.size Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Set.prototype.delete Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Set.prototype.clear Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Set.prototype.forEach Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Set.prototype.keys Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Set.prototype.values Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Set.prototype.entries Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Set.prototype[Symbol.iterator] Yes Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§Set.prototype isn't an instance Yes Yes No Yes No Yes[11] Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Set iterator prototype chain Yes Yes No No No Yes[11] No No No No Yes Yes No No No No No No No Yes Yes 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 No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Set[Symbol.species] No Yes No No No Yes[11] No No No No Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes No No No No No No No No No No No Yes
§WeakMap 6/12 12/12 0/12 9/12 0/12 12/12 0/12 0/12 6/12 11/12 11/12 11/12 4/12 8/12 9/12 9/12 10/12 10/12 10/12 10/12 11/12 11/12 11/12 11/12 11/12 11/12 11/12 0/12 9/12 9/12 10/12 10/12 11/12 11/12 11/12 11/12 11/12 11/12 11/12 11/12 12/12 12/12 12/12 12/12 12/12 12/12 0/12 0/12 0/12 7/12 12/12 12/12 12/12 12/12 0/12 0/12 0/12 0/12 7/12 11/12 11/12 11/12 11/12 12/12 9/12 11/12 11/12 0/12 0/12 0/12 0/12 0/12 6/12 9/12 0/12 7/12 12/12 12/12
§basic functionality Yes Yes No Yes No Yes[11] No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No Yes Yes Yes
§constructor arguments No Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§constructor requires new No Yes No No No Yes[11] No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No Yes Yes Yes
§constructor accepts null Yes Yes No Yes No Yes[11] No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No Yes Yes Yes
§constructor invokes set No Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§frozen objects as keys Yes Yes No Yes No Yes[11] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No Yes Yes No No No No No Yes Yes No Yes Yes Yes
§iterator closing No Yes No No No Yes[11] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No No Yes No Yes Yes No No No No No No No No No Yes Yes
§WeakMap.prototype.set returns this Yes Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§WeakMap.prototype.delete Yes Yes No Yes No Yes[11] No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No Yes Yes Yes
§no WeakMap.prototype.clear method No Yes No Yes No Yes[11] No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§.has, .get and .delete methods accept primitives No Yes No Yes No Yes[11] No No Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes ? ? ? No No No No No No No No No Yes Yes
§WeakMap.prototype isn't an instance Yes Yes No No No Yes[11] No No Yes Yes Yes Yes No No 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 Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No Yes Yes Yes
§WeakSet 5/11 11/11 0/11 8/11 0/11 11/11 0/11 0/11 0/11 10/11 10/11 10/11 0/11 9/11 9/11 9/11 9/11 9/11 9/11 9/11 10/11 10/11 10/11 10/11 10/11 10/11 10/11 0/11 8/11 8/11 9/11 9/11 10/11 10/11 10/11 10/11 10/11 10/11 10/11 10/11 11/11 11/11 11/11 11/11 11/11 11/11 0/11 0/11 0/11 0/11 11/11 11/11 11/11 11/11 0/11 0/11 0/11 0/11 6/11 10/11 10/11 10/11 10/11 11/11 9/11 10/11 10/11 0/11 0/11 0/11 0/11 0/11 5/11 8/11 0/11 0/11 11/11 11/11
§basic functionality Yes Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes Yes
§constructor arguments No Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§constructor requires new No Yes No No No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes Yes
§constructor accepts null Yes Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes Yes
§constructor invokes add No Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§iterator closing No Yes No No No Yes[11] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No No Yes No Yes Yes No No No No No No No No No Yes Yes
§WeakSet.prototype.add returns this Yes Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§WeakSet.prototype.delete Yes Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes Yes
§no WeakSet.prototype.clear method No Yes No Yes No Yes[11] No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§.has and .delete methods accept primitives No Yes No Yes No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes ? ? ? No No No No No No No No No Yes Yes
§WeakSet.prototype isn't an instance Yes Yes No No No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes Yes
§Proxy[18] 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 34/34 34/34 34/34 21/34 28/34 29/34 29/34 30/34 30/34 30/34 30/34 30/34 30/34 30/34 34/34 34/34 34/34 34/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 33/34 34/34 34/34 34/34 34/34 34/34 34/34 34/34 0/34 0/34 0/34 0/34 0/34 34/34 34/34 34/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 34/34 34/34 27/34 34/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 34/34
§constructor requires new No No No No No No[8] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§no "prototype" property No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"get" handler No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"get" handler, instances of proxies No No No No No No[8] No No No Yes Yes Yes No[19] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"get" handler invariants No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"set" handler No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"set" handler, instances of proxies No No No No No No[8] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"set" handler invariants No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"has" handler No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"has" handler, instances of proxies No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"has" handler invariants No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"deleteProperty" handler No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"deleteProperty" handler invariant No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"getOwnPropertyDescriptor" handler No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§"getOwnPropertyDescriptor" handler invariants No No No No No No[8] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§"defineProperty" handler No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"defineProperty" handler invariants No No No No No No[8] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"getPrototypeOf" handler No No No No No No[8] No No No Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"getPrototypeOf" handler invariant No No No No No No[8] No No No Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"setPrototypeOf" handler No No No No No No[8] No No No Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"setPrototypeOf" handler invariant No No No No No No[8] No No No Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"isExtensible" handler No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"isExtensible" handler invariant No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"preventExtensions" handler No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"preventExtensions" handler invariant No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"ownKeys" handler No No No No No No[8] No No No Yes Yes Yes No[0] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"ownKeys" handler invariant No No No No No No[8] No No No Yes Yes Yes No[0] No[0] No[0] No[0] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§"apply" handler No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§"apply" handler invariant No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§"construct" handler No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§"construct" handler invariants No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Proxy.revocable No No No No No No[8] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Array.isArray support No No No No No No[8] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§JSON.stringify support No No No No No No[8] 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect[20] 0/20 14/20 0/20 14/20 0/20 18/20 14/20 0/20 0/20 13/20 20/20 20/20 0/20 0/20 0/20 0/20 16/20 16/20 17/20 20/20 19/20 19/20 19/20 20/20 20/20 20/20 20/20 0/20 0/20 0/20 0/20 0/20 0/20 0/20 0/20 0/20 0/20 0/20 20/20 20/20 20/20 20/20 20/20 20/20 20/20 20/20 0/20 0/20 0/20 0/20 0/20 20/20 20/20 20/20 0/20 0/20 0/20 0/20 0/20 0/20 0/20 0/20 20/20 20/20 14/20 16/20 0/20 0/20 0/20 0/20 0/20 0/20 0/20 0/20 0/20 0/20 0/20 20/20
§Reflect.get No Yes No Yes No Yes[11] Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.set No Yes No Yes No Yes[11] Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.has No Yes No Yes No Yes[11] Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.deleteProperty No Yes No Yes No Yes[11] Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Reflect.getOwnPropertyDescriptor No Yes No Yes No Yes[11] Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.defineProperty No Yes No Yes No Yes[11] Yes No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Reflect.getPrototypeOf No Yes No Yes No Yes[11] Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.setPrototypeOf No No[14] No No[14] No No[14] No[14] 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.isExtensible No Yes No Yes No Yes[11] Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.preventExtensions No Yes No Yes No Yes[11] Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.ownKeys, string keys No Yes No Yes No Yes[11] Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.ownKeys, symbol keys No Yes No Yes No Yes[11] Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.apply No Yes No Yes No Yes[11] Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.construct No Yes No Yes No Yes[11] Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.construct sets new.target meta-property No No No No No No[8] No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.construct creates instances from third argument No Yes No Yes No Yes[11] Yes No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.construct, Array subclassing No No No No No Yes[11] No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes ? ? No No No No No No No No No No No Yes
§Reflect.construct, RegExp subclassing No No No No No Yes[11] No No No No Yes Yes No No No No No No No Yes No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes ? ? No No No No No No No No No No No Yes
§Reflect.construct, Function subclassing No No No No No Yes[11] No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes ? ? No No No No No No No No No No No Yes
§Reflect.construct, Promise subclassing No No No No No Yes[11] No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes ? ? No No No No No No No No No No No Yes
§Promise 4/8 8/8 0/8 0/8 0/8 8/8 7/8 0/8 0/8 7/8 8/8 8/8 4/8 6/8 6/8 6/8 6/8 6/8 6/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 0/8 5/8 5/8 5/8 5/8 7/8 7/8 7/8 7/8 7/8 7/8 7/8 7/8 8/8 8/8 8/8 8/8 8/8 8/8 0/8 0/8 0/8 4/8 6/8 8/8 8/8 8/8 0/8 0/8 0/8 0/8 4/8 7/8 7/8 7/8 7/8 8/8 4/8 8/8 0/8 0/8 0/8 0/8 0/8 0/8 5/8 5/8 0/8 4/8 6/8 8/8
§basic functionality Yes Yes No No No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes No Yes Yes Yes
§constructor requires new No Yes No No No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes No No No Yes
§Promise.prototype isn't an instance Yes Yes No No No Yes[11] Yes No No Yes Yes Yes No No No No No No No 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 Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes No Yes Yes Yes
§Promise.all Yes Yes No No No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No Yes No No No No No No Yes Yes No Yes Yes Yes
§Promise.all, generic iterables No Yes No No No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes 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 Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No Yes No No No No No No No No No No Yes Yes
§Promise.race Yes Yes No No No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No Yes No No No No No No Yes Yes No Yes Yes Yes
§Promise.race, generic iterables No Yes No No No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes 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 Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No Yes No No No No No No No No No No Yes Yes
§Promise[Symbol.species] No Yes No No No Yes[11] No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes No No No No No No No No No No No Yes
§Symbol 4/12 9/12 0/12 2/12 0/12 8/12 2/12 0/12 0/12 10/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 12/12 12/12 12/12 0/12 10/12 10/12 10/12 10/12 10/12 10/12 10/12 10/12 10/12 11/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 11/12 12/12 12/12 12/12 0/12 0/12 0/12 0/12 9/12 10/12 10/12 10/12 12/12 12/12 4/12 12/12 12/12 0/12 0/12 0/12 0/12 0/12 0/12 10/12 0/12 0/12 11/12 12/12
§basic functionality Yes Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§typeof support Yes Yes No No No No[8] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§symbol keys are hidden to pre-ES6 code No Yes No No No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No Yes Yes
§Object.defineProperty support Yes Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§symbols inherit from Symbol.prototype No Yes No No No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§cannot coerce to string or number No No No No No No[8] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No Yes Yes
§can convert with String() No No No No No No[8] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No Yes Yes
§new Symbol() throws Yes Yes No No No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No Yes Yes
§Object(symbol) No No No No No No[8] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§JSON.stringify ignores symbol primitives No Yes No No No Yes[11] Yes No No No Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No No Yes
§JSON.stringify ignores symbol objects No Yes No No No Yes[11] Yes No No No Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§global symbol registry No Yes No No No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No Yes Yes
§well-known symbols[21] 1/26 14/26 0/26 1/26 0/26 15/26 0/26 0/26 0/26 3/26 9/26 10/26 0/26 1/26 5/26 6/26 6/26 6/26 7/26 8/26 9/26 9/26 16/26 21/26 22/26 26/26 26/26 0/26 3/26 3/26 3/26 3/26 3/26 3/26 3/26 3/26 4/26 5/26 9/26 14/26 26/26 26/26 26/26 26/26 25/26 25/26 0/26 0/26 0/26 0/26 3/26 26/26 26/26 26/26 0/26 0/26 0/26 0/26 2/26 3/26 3/26 3/26 14/26 26/26 23/26 25/26 22/26 0/26 0/26 0/26 0/26 0/26 0/26 3/26 0/26 0/26 3/26 26/26
§Symbol.hasInstance No Flag No No No No[8] No No No No No No No No No No No No No No No No No No Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.isConcatSpreadable No No No No No No[8] No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.iterator, existence Yes Yes No Yes No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§Symbol.iterator, arguments object No No No No No No No No No Yes Yes Yes No No No No No No No No 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 No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§Symbol.species, existence No Yes No No No Yes[11] No No No No Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.species, Array.prototype.concat No No No No No No No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.species, Array.prototype.filter No No No No No No No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.species, Array.prototype.map No No No No No No No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.species, Array.prototype.slice No No No No No No No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.species, Array.prototype.splice No No No No No No No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.species, RegExp.prototype[Symbol.split] No No No No No No No No No No No Flag No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.species, Promise.prototype.then No Yes No No No Yes[11] No No No No No Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes ? ? No No No No No No No No No No No Yes
§Symbol.replace No Yes No No No Yes[11] No No No No No Flag No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.search No Yes No No No Yes[11] No No No No No Flag No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.split No Yes No No No Yes[11] No No No No No Flag No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.match No Yes No No No Yes[11] No No No No No Flag No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.match, RegExp constructor No Yes No No No Yes[11] No No No No No Flag No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.match, String.prototype.startsWith No Yes No No No Yes[11] No No No No No Flag No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No Yes Yes Yes No No No No No No No No No No No Yes
§Symbol.match, String.prototype.endsWith No Yes No No No Yes[11] No No No No No Flag No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No Yes Yes Yes No No No No No No No No No No No Yes
§Symbol.match, String.prototype.includes No Yes No No No Yes[11] No No No No No Flag No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No Yes Yes Yes No No No No No No No No No No No Yes
§Symbol.toPrimitive No No No No No No[8] No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.toStringTag No Yes No No No Yes[11] No No No No No No No No No No No No No No No No No No No Yes Yes No No Flag Flag Flag Flag Flag Flag Flag Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Flag Flag Flag Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.toStringTag affects existing built-ins No Yes No No No Yes[11] No No No No No No No No No No No No No No No No No No No Yes Yes No No Flag Flag Flag Flag Flag Flag Flag Flag Flag Yes Yes Yes Yes Yes Yes No No No No No No No Yes Yes Yes No No No No No Flag Flag Flag Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.toStringTag, new built-ins No No No No No Yes[11] No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No No No Yes
§Symbol.toStringTag, misc. built-ins No Yes No No No Yes[11] No No No No No No No No No No No No No No No No No No No Yes Yes No No Flag Flag Flag Flag Flag Flag Flag Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Flag Flag Flag Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Symbol.unscopables No No No No No No[8] No No No Yes Yes Yes No No No No 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 No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No[22] Yes Yes No No No No No No Yes No No Yes Yes
Built-in extensions
§Object static methods 3/4 3/4 0/4 2/4 0/4 3/4 2/4 0/4 1/4 4/4 4/4 4/4 2/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 3/4 3/4 3/4 3/4 3/4 3/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 4/4 4/4 4/4 4/4 0/4 1/4 0/4 0/4 3/4 3/4 4/4 4/4 4/4 4/4 4/4 4/4 4/4 0/4 1/4 1/4 1/4 1/4 2/4 3/4 0/4 0/4 4/4 4/4
§Object.assign Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Object.is Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No Yes Yes
§Object.getOwnPropertySymbols Yes Yes No No No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§Object.setPrototypeOf No No[14] No No[14] No No[14] No[14] No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes Yes
§function "name" property 0/17 8/17 0/17 0/17 0/17 3/17 0/17 0/17 0/17 8/17 14/17 16/17 3/17 6/17 6/17 6/17 6/17 6/17 6/17 10/17 10/17 11/17 11/17 12/17 12/17 12/17 12/17 2/17 2/17 2/17 2/17 4/17 5/17 5/17 6/17 6/17 6/17 7/17 11/17 11/17 17/17 17/17 17/17 17/17 17/17 17/17 3/17 3/17 3/17 3/17 6/17 17/17 17/17 17/17 2/17 3/17 3/17 3/17 2/17 5/17 6/17 6/17 11/17 17/17 5/17 17/17 14/17 3/17 2/17 2/17 2/17 2/17 2/17 2/17 3/17 3/17 6/17 17/17
§function statements No Yes No No No Yes[11] No No 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 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
§function expressions No Yes No No No Yes[11] No No 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 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
§new Function 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 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 Yes Yes Yes No No No No Yes Yes No[0] Yes Yes Yes No No No No No No Yes Yes Yes Yes
§bound functions No No No No No No No No No Yes Yes Yes No No No No No No No No No 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§variables (function) No Yes No No No No No No No Flag Flag Flag No No No 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 Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes No Yes Yes No No No No No No No No No No Yes
§object methods (function) No Yes No No No No No No No Flag Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes No Yes Yes No No No No No No No No No No Yes
§accessor properties No No No No No No No No No Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes No Yes Yes No No No No No No No No No No Yes
§shorthand methods No Yes No No No No No No No Flag Yes Yes No 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 Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§shorthand methods (no lexical binding) No Yes No No No Yes[11] No No No Yes Yes Yes No 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 Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§symbol-keyed methods No No No No No No No No No Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes No Yes Yes No No No No No No No No No No Yes
§class statements No No[23] No No No No No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes No Yes No No No No No No No No No No No Yes
§class expressions No No[23] No No No No No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes No Yes No No No No No No No No No No No Yes
§variables (class) No No[23] No No No No No No No Flag Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes No Yes No No No No No No No No No No No Yes
§object methods (class) No No No No No No No No No Flag Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes No Yes Yes No No No No No No No No No No Yes
§class prototype methods No Yes No No No No No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§class static methods No Yes No No No No No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§isn't writable, is configurable 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 Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No Yes Yes No No No No No No No No No No Yes
§String static methods 2/2 2/2 0/2 1/2 0/2 2/2 2/2 0/2 0/2 2/2 2/2 2/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 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 2/2 2/2 2/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 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 0/2 0/2 0/2 2/2 2/2
§String.raw Yes Yes No No No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§String.fromCodePoint Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag 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 No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§String.prototype methods 8/10 9/10 0/10 7/10 0/10 9/10 7/10 0/10 0/10 9/10 10/10 10/10 7/10 8/10 9/10 9/10 9/10 9/10 9/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 0/10 2/10 2/10 9/10 9/10 9/10 9/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 0/10 0/10 0/10 0/10 9/10 10/10 10/10 10/10 0/10 0/10 0/10 0/10 1/10 9/10 10/10 10/10 10/10 10/10 9/10 10/10 10/10 0/10 0/10 0/10 0/10 0/10 1/10 2/10 0/10 0/10 9/10 10/10
§String.prototype.codePointAt Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag 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 No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§String.prototype.normalize 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No Yes Yes No No No No No Yes Yes No No No Yes
§String.prototype.repeat Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag 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 No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§String.prototype.startsWith Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag 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 No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§String.prototype.startsWith throws on RegExp Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag 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 No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§String.prototype.endsWith Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag 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 No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§String.prototype.endsWith throws on RegExp Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag 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 No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§String.prototype.includes Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes No[24] No[24] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No[24] No[24] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Flag[24] Yes Yes Yes Yes Yes Yes Yes Yes No No No No No[24] No[24] No[24] No No Yes Yes
§String.prototype[Symbol.iterator] Yes Yes No No No Yes[11] No No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§String iterator prototype chain No Yes No No No Yes[11] No No No No Yes Yes No No No No No No No Yes Yes 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 No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§RegExp.prototype properties 0/6 6/6 0/6 0/6 0/6 6/6 1/6 0/6 0/6 0/6 1/6 1/6 0/6 1/6 1/6 1/6 1/6 1/6 1/6 1/6 1/6 1/6 1/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 0/6 1/6 5/6 6/6 6/6 6/6 6/6 6/6 6/6 0/6 0/6 0/6 0/6 1/6 6/6 6/6 6/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 5/6 6/6 6/6 6/6 5/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 1/6 6/6
§RegExp.prototype.flags No Yes No No No Yes[11] Yes No No No No Flag No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§RegExp.prototype[Symbol.match] No Yes No No No Yes[11] No No No No No Flag No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§RegExp.prototype[Symbol.replace] No Yes No No No Yes[11] No No No No No Flag No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§RegExp.prototype[Symbol.split] No Yes No No No Yes[11] No No No No No Flag No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§RegExp.prototype[Symbol.search] No Yes No No No Yes[11] No No No No No Flag No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§RegExp[Symbol.species] No Yes No No No Yes[11] No No No No Yes Yes No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes No No No No No No No No No No No Yes
§Array static methods 10/11 11/11 0/11 5/11 0/11 9/11 7/11 0/11 0/11 7/11 10/11 10/11 1/11 9/11 9/11 9/11 9/11 9/11 9/11 9/11 9/11 9/11 10/11 10/11 10/11 10/11 10/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 9/11 9/11 9/11 9/11 9/11 9/11 11/11 11/11 11/11 11/11 11/11 11/11 0/11 0/11 0/11 0/11 8/11 11/11 11/11 11/11 0/11 0/11 0/11 0/11 0/11 0/11 9/11 9/11 9/11 11/11 6/11 11/11 8/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 8/11 11/11
§Array.from, array-like objects Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Array.from, generator instances Yes Yes No Yes No No[8] Yes No No Flag Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes 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
§Array.from, generic iterables Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Array.from, instances of generic iterables Yes Yes No Yes No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Array.from map function, array-like objects Yes Yes No No No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§Array.from map function, generator instances Yes Yes No No No No[8] Yes No No Flag Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes No Yes No No No No No No No No No No No Yes
§Array.from map function, generic iterables Yes Yes No No No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§Array.from map function, instances of iterables Yes Yes No No No Yes[11] No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§Array.from, iterator closing Yes Yes No No No Yes[11] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No No Yes No Yes Yes No No No No No No No No No Yes Yes
§Array.of Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Array[Symbol.species] No Yes No No No Yes[11] No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes No No No No No No No No No No No Yes
§Array.prototype methods 7/10 10/10 0/10 8/10 0/10 10/10 7/10 0/10 0/10 9/10 10/10 10/10 5/10 7/10 7/10 7/10 7/10 7/10 7/10 8/10 8/10 8/10 10/10 10/10 10/10 10/10 10/10 0/10 4/10 4/10 4/10 4/10 4/10 4/10 8/10 8/10 8/10 8/10 8/10 8/10 10/10 9/10 9/10 9/10 9/10 9/10 0/10 0/10 0/10 5/10 10/10 10/10 10/10 10/10 0/10 0/10 0/10 0/10 5/10 4/10 8/10 8/10 8/10 10/10 9/10 10/10 10/10 0/10 0/10 0/10 0/10 0/10 0/10 4/10 0/10 5/10 10/10 10/10
§Array.prototype.copyWithin No Yes No Yes No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes 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 No No No No Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Array.prototype.find Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag Flag Flag Flag Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§Array.prototype.findIndex Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag Flag Flag Flag Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§Array.prototype.fill Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag Flag Flag Flag Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes
§Array.prototype.keys Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Array.prototype.values Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes No[25] No[26] No[26] No[26] No[26] No[26] No[26] No[26] No[26] No[26] Yes Yes Yes Yes Yes No No[26] No[26] No[26] No[26] No[26] No[26] No[26] No[26] No[26] No[26] No[26] No[26] Yes No No No No No No No No No Yes Yes Yes Yes No No No No Yes No[26] No No No[26] Yes Yes Yes Yes No No No No No No No[26] No No Yes Yes
§Array.prototype.entries Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Array.prototype[Symbol.iterator] Yes Yes No Yes No Yes[11] No No No Yes Yes Yes No[25] 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 No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§Array iterator prototype chain No Yes No No No Yes[11] No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Array.prototype[Symbol.unscopables] No Yes No No No Yes[11] No No No Yes Yes Yes No No No No 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 No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No Yes Yes
§Number properties 7/7 7/7 0/7 7/7 0/7 7/7 7/7 0/7 0/7 7/7 7/7 7/7 6/7 7/7 7/7 7/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 7/7 7/7 7/7 7/7 7/7 7/7 7/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 7/7 7/7 7/7 7/7 0/7 6/7 0/7 0/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 0/7 2/7 2/7 2/7 2/7 7/7 7/7 0/7 0/7 7/7 7/7
§Number.isFinite Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No Yes Yes
§Number.isInteger Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes Yes
§Number.isSafeInteger Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes Yes
§Number.isNaN Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No Yes Yes
§Number.EPSILON Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes Yes
§Number.MIN_SAFE_INTEGER Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes Yes
§Number.MAX_SAFE_INTEGER Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes Yes
§Math methods 17/17 17/17 0/17 14/17 0/17 17/17 17/17 0/17 0/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 0/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 0/17 0/17 1/17 15/17 17/17 17/17 17/17 17/17 0/17 14/17 0/17 0/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 17/17 0/17 0/17 0/17 0/17 1/17 1/17 17/17 1/17 15/17 17/17 17/17
§Math.clz32 Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§Math.imul Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes
§Math.sign Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes Yes
§Math.log10 Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Math.log2 Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Math.log1p Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Math.expm1 Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Math.cosh Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Math.sinh Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Math.tanh Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Math.acosh Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Math.asinh Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Math.atanh Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Math.trunc Yes Yes No Yes No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Math.fround Yes Yes No No No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Math.cbrt Yes Yes No No No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Math.hypot Yes Yes No No No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes Yes
§Date.prototype[Symbol.toPrimitive] No Yes No No No Yes[11] No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
Subclassing
§Array is subclassable 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 11/11 11/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 6/11 6/11 6/11 11/11 11/11 11/11 11/11 11/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 6/11 6/11 11/11 11/11 11/11 11/11 11/11 11/11 0/11 0/11 0/11 0/11 3/11 11/11 11/11 11/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 6/11 11/11 11/11 11/11 11/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 3/11 11/11
§length property (accessing) No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§length property (setting) No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§correct prototype chain No No[14] No No No No No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Array.isArray support No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Array.prototype.concat No No No No No No No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§Array.prototype.filter No No No No No No No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§Array.prototype.map No No No No No No No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§Array.prototype.slice No No No No No No No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§Array.prototype.splice No No No No No No No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No No Yes
§Array.from No[14] No[14] No No No No No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Array.of No[14] No[14] No No No No No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§RegExp is subclassable 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 4/4 4/4 0/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 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 4/4 4/4 4/4 4/4 4/4 4/4 0/4 0/4 0/4 0/4 3/4 4/4 4/4 4/4 0/4 0/4 0/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 0/4 0/4 0/4 0/4 0/4 0/4 0/4 3/4 4/4
§basic functionality No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§correct prototype chain No No[14] No No No No No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§RegExp.prototype.exec No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict No Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§RegExp.prototype.test No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Strict No Strict Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Function is subclassable 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 6/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 0/6 0/6 0/6 0/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 0/6 0/6 0/6 0/6 0/6 6/6 6/6 6/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 6/6 6/6 0/6 6/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 6/6
§can be called No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes No Yes No No No No No No No No No No No Yes
§correct prototype chain No No[14] No No No No No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§can be used with "new" No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes No Yes No No No No No No No No No No No Yes
§Function.prototype.call No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes No Yes No No No No No No No No No No No Yes
§Function.prototype.apply No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes No Yes No No No No No No No No No No No Yes
§Function.prototype.bind No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Promise is subclassable 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 4/4 4/4 0/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 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 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 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 4/4 4/4 2/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
§basic functionality No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict No Strict Yes Yes Yes Yes No No No No No No No No No No No Yes
§correct prototype chain No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes No No No No No No No No No No No Yes
§Promise.all No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict No Strict Yes Yes No Yes No No No No No No No No No No No Yes
§Promise.race No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict No Strict Yes Yes No Yes No No No No No No No No No No No Yes
§miscellaneous subclassables 0/6 0/6 0/6 2/6 0/6 0/6 0/6 0/6 0/6 0/6 6/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 0/6 0/6 0/6 0/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 0/6 0/6 0/6 0/6 0/6 6/6 6/6 6/6 0/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 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 6/6
§Boolean is subclassable No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Number is subclassable No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§String is subclassable No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Error is subclassable No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Map is subclassable No No No Yes No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Set is subclassable No No No Yes No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Strict Strict Strict Yes Yes Yes Yes Yes No No No No No No No No No No Yes
Misc
§prototype of bound functions 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 5/5 5/5 0/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 5/5 5/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 3/5 3/5 3/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 0/5 0/5 0/5 0/5 0/5 0/5 0/5 3/5 5/5 5/5 4/5 5/5 3/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 5/5
§basic functions No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§generator functions No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
§arrow functions No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No Yes
§classes No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No Strict Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§subclasses No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Strict Strict Strict Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No Strict Yes Yes No Yes Yes No No No No No No No No No No Yes
§Proxy, internal 'get' calls 0/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 14/36 19/36 20/36 10/36 17/36 18/36 18/36 18/36 18/36 20/36 22/36 24/36 24/36 27/36 35/36 36/36 36/36 36/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 21/36 25/36 36/36 36/36 36/36 36/36 36/36 36/36 0/36 0/36 0/36 0/36 0/36 36/36 36/36 36/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 25/36 36/36 19/36 35/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 36/36
§ToPrimitive No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§CreateListFromArrayLike 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 No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§instanceof operator No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes No Yes No No No No No No No No No No No Yes
§HasBinding 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No[22] Yes No No No No No No No No No No No Yes
§CreateDynamicFunction No No No No No No No No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§ClassDefinitionEvaluation No No No No No No No No No Flag Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§IteratorComplete, IteratorValue 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§ToPropertyDescriptor 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 No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Object.assign 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Object.defineProperties 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 No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Function.prototype.bind 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Error.prototype.toString 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 No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§String.raw 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§RegExp constructor No No No No No No No No No No No Flag No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§RegExp.prototype.flags No No No No No No No No No No No Flag No Yes No 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 Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§RegExp.prototype.test No No No No No No No No No No No Flag No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No Yes No Yes No No No No No No No No No No No Yes
§RegExp.prototype.toString No No No No No No No No No No No Flag No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No ? No No No No No No No No No No No Yes
§RegExp.prototype[Symbol.match] No No No No No No No No No No No Flag No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No Yes No Yes No No No No No No No No No No No Yes
§RegExp.prototype[Symbol.replace] No No No No No No No No No No No Flag No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No Yes No Yes No No No No No No No No No No No Yes
§RegExp.prototype[Symbol.search] No No No No No No No No No No No Flag No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No Yes No Yes No No No No No No No No No No No Yes
§RegExp.prototype[Symbol.split] No No No No No No No No No No No Flag No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No Yes Yes Yes No No No No No No No No No No No Yes
§Array.from 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Array.prototype.concat No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes No No No No No No No No No No No Yes
§Array.prototype iteration methods 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 Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No Yes No Yes No No No No No No No No No No No Yes
§Array.prototype.pop 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 No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Array.prototype.reverse 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 No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Array.prototype.shift 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 No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Array.prototype.splice No No No No No No No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Flag Yes Yes Yes No No No No No No No No No No No Yes
§Array.prototype.toString 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 No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§JSON.stringify 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 No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Promise resolve functions 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 No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§String.prototype.match No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No Yes No Yes No No No No No No No No No No No Yes
§String.prototype.replace No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§String.prototype.search No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No Yes No Yes No No No No No No No No No No No Yes
§String.prototype.split No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Date.prototype.toJSON No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Proxy, internal 'set' calls 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 11/11 11/11 11/11 3/11 5/11 11/11 11/11 11/11 11/11 11/11 11/11 11/11 11/11 11/11 11/11 11/11 11/11 11/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 11/11 11/11 11/11 11/11 11/11 11/11 11/11 11/11 0/11 0/11 0/11 0/11 0/11 11/11 11/11 11/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 11/11 11/11 3/11 11/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 11/11
§Object.assign 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Array.from 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Array.of 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 No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Array.prototype.copyWithin 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Array.prototype.fill 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Array.prototype.pop 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 No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Array.prototype.push 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 No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Array.prototype.reverse 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Array.prototype.shift 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Array.prototype.splice 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Array.prototype.unshift 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Proxy, internal 'defineProperty' calls 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/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 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/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 2/2
§[[Set]] 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§SetIntegrityLevel 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 No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Proxy, internal 'deleteProperty' calls 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/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 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 0/6 0/6 0/6 0/6 0/6 6/6 6/6 6/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 6/6 6/6 1/6 6/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 6/6
§Array.prototype.copyWithin 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Array.prototype.pop 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Array.prototype.reverse 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Array.prototype.shift 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Array.prototype.splice 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Array.prototype.unshift 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Proxy, internal 'getOwnPropertyDescriptor' calls 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/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 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 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 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 4/4 4/4 2/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
§[[Set]] 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Object.assign 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Object.prototype.hasOwnProperty 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Function.prototype.bind 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No Yes No No No No No No No No No No No Yes
§Proxy, internal 'ownKeys' calls 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 2/3 3/3 3/3 0/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 0/3 0/3 0/3 0/3 0/3 3/3 3/3 3/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 3/3 3/3 3/3 3/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 3/3
§SetIntegrityLevel 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§TestIntegrityLevel 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§SerializeJSONObject 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 Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Object static methods accept primitives 0/10 10/10 0/10 0/10 0/10 10/10 10/10 0/10 0/10 10/10 10/10 10/10 0/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 0/10 0/10 2/10 2/10 2/10 2/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 0/10 0/10 0/10 0/10 10/10 10/10 10/10 10/10 0/10 0/10 0/10 0/10 0/10 10/10 10/10 10/10 10/10 10/10 9/10 10/10 10/10 0/10 0/10 0/10 0/10 0/10 0/10 0/10 0/10 0/10 10/10 10/10
§Object.getPrototypeOf No Yes No No No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Object.getOwnPropertyDescriptor No Yes No No No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Object.getOwnPropertyNames No Yes No No No Yes[11] Yes No No Yes Yes Yes No 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 Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Object.seal No Yes No No No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Object.freeze No Yes No No No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Object.preventExtensions No Yes No No No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Object.isSealed No Yes No No No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Object.isFrozen No Yes No No No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Object.isExtensible No Yes No No No Yes[11] Yes No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§Object.keys No Yes No No No Yes[11] Yes No No Yes Yes Yes No 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 Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§own property order 0/7 1/7 0/7 0/7 0/7 1/7 1/7 4/7 4/7 7/7 7/7 7/7 2/7 2/7 2/7 2/7 3/7 3/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 3/7 3/7 3/7 3/7 3/7 3/7 3/7 3/7 3/7 3/7 3/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 7/7 2/7 2/7 3/7 4/7 5/7 7/7 7/7 7/7 4/7 0/7 0/7 2/7 3/7 3/7 3/7 3/7 7/7 7/7 3/7 7/7 5/7 3/7 3/7 3/7 3/7 3/7 3/7 3/7 3/7 4/7 5/7 7/7
§Object.keys No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes ? ? Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Object.getOwnPropertyNames No No No No No No No Yes[0] Yes[0] Yes[0] Yes[0] Yes[0] No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes No No No No No No No Yes Yes No Yes Yes No No No No No No No No Yes Yes Yes
§Object.assign No No No No No No No No No Yes[0] Yes[0] Yes[0] No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§JSON.stringify No No No No No No No Yes[0] Yes[0] Yes[0] Yes[0] Yes[0] No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§JSON.parse No No No No No No No Yes[27] Yes[27] Yes[27] Yes[27] Yes[27] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Reflect.ownKeys, string key order No No[28] No No[28] No No[28] No[28] 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§Reflect.ownKeys, symbol key order No Yes No No No Yes[11] Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§miscellaneous 1/10 6/10 1/10 3/10 1/10 6/10 2/10 3/10 3/10 7/10 7/10 7/10 3/10 5/10 7/10 8/10 8/10 8/10 8/10 8/10 8/10 8/10 8/10 8/10 8/10 8/10 8/10 2/10 2/10 2/10 2/10 4/10 5/10 5/10 6/10 6/10 6/10 6/10 8/10 10/10 10/10 10/10 10/10 10/10 10/10 10/10 2/10 2/10 2/10 2/10 5/10 10/10 10/10 10/10 3/10 1/10 2/10 2/10 2/10 5/10 5/10 5/10 10/10 10/10 5/10 8/10 9/10 2/10 2/10 2/10 2/10 2/10 2/10 2/10 2/10 2/10 5/10 10/10
§no escaped reserved words as identifiers Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes No No No No No No No Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§duplicate property names in strict mode 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 Yes Yes 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§no semicolon needed after do-while No 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§no assignments allowed in for-in head in strict mode No Yes No Yes No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes Yes
§accessors aren't constructors No No No No No No No No No Yes Yes Yes No No 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 Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No Yes Yes No No No No No No No No No No Yes
§Invalid Date No Yes No No No Yes[11] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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
§RegExp constructor can alter flags No Yes No No No Yes[11] Yes 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes
§RegExp.prototype.toString generic and uses "flags" property No Yes No No No Yes[11] No No No No No Flag No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes ? ? Yes No No No No No No No No No No Yes
§built-in prototypes are not instances No No No No No No No No No No No Flag No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No Yes Yes No No Yes No No No No No No No No No No Yes
§function 'length' is configurable 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 Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No Yes Yes No No No No No No No No No No Yes
Annex b
§non-strict function semantics[29] 0/3 0/3 0/3 0/3 0/3 0/3 0/3 2/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 2/3 2/3 2/3 2/3 2/3 3/3 3/3 3/3 2/3 2/3 3/3 2/3 2/3 2/3 2/3 2/3 3/3 3/3 0/3 2/3 3/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 3/3
§hoisted block-level function declaration 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 Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No Yes No No No No No Yes Yes No No Yes No No No No No No No No No No Yes
§labeled function statements No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§function statements in if-statement clauses No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__proto__ in object literals[30] 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 1/5 3/5 5/5 5/5 1/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 1/5 1/5 1/5 1/5 4/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 1/5 1/5 1/5 2/5 5/5 5/5 5/5 5/5 1/5 1/5 1/5 1/5 1/5 5/5 5/5 5/5 5/5 5/5 0/5 5/5 5/5 1/5 1/5 1/5 1/5 1/5 1/5 1/5 1/5 2/5 5/5 5/5
§basic support 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§multiple __proto__ is an error 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 Yes Yes 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 No No No No No Yes Yes Yes Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§not a computed property 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 Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes No Yes Yes No No No No No No No No Yes Yes Yes
§not a shorthand property 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 Yes Yes 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 No No No No No Yes Yes Yes Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§not a shorthand method 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 Yes Yes 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 No No No No No Yes Yes Yes Yes Yes No Yes Yes No No No No No No No No No Yes Yes
§Object.prototype.__proto__ 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 6/6 6/6 6/6 6/6 5/6 5/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 2/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 6/6 3/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 3/6 4/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6 2/6 6/6 6/6 3/6 2/6 2/6 2/6 6/6 6/6 6/6 6/6 6/6 6/6 6/6
§get prototype 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§set prototype 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§absent from Object.create(null) 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 Yes No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes
§present in hasOwnProperty() 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 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 No No No Yes Yes Yes Yes Yes Yes Yes
§correct property descriptor 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 Yes No 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 No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes
§present in Object.getOwnPropertyNames() No No No No No No No No Yes Yes Yes Yes No No 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 Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes
§String.prototype HTML methods 0/3 3/3 0/3 0/3 0/3 3/3 3/3 1/3 1/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 2/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 2/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 0/3 0/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3 3/3
§existence No Yes No No No Yes[11] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes
§tags' names are lowercase No Yes No No No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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
§quotes in arguments are escaped No Yes No No No Yes[11] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§RegExp.prototype.compile 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 2/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/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 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 0/2 1/2 0/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 2/2
§basic functionality No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§returns this No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes No ? ? No No No No No No No No ? No No No No No No No No No No No Yes
§RegExp syntax extensions 0/8 0/8 0/8 0/8 0/8 0/8 0/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 6/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 4/8 5/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8
§hyphens in character sets No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§invalid character escapes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§invalid control-character escapes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§invalid Unicode escapes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes
§invalid hexadecimal escapes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§incomplete patterns and quantifiers No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§octal escape sequences No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§invalid backreferences become octal escapes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§HTML-style comments 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
__createIterableObject(), used in the numerous "generic iterables" tests, is defined as:

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

[2] Flagged features require an optional transformer setting.

[3] Have to be enabled via harmony option

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

[5] Results are only applicable for the KHTML rendering engine.

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

[7] Requires the properTailCalls compile option.

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

[9] This compiler requires generic iterables have either a Symbol.iterator or non-standard "@@iterator" method.

[10] Firefox incorrectly produces an error in strict mode if the method is named "arguments", "eval", or "delete".

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

[12] Available for code in a <script type="application/javascript;version=1.7"> (or version=1.8) tag.

[13] Note that prior to ES6, it was recommended that ES5 implementations forbid block-level declarations in strict mode.

[14] Requires native support for Object.prototype.__proto__

[15] This compiler transforms extends into code that copies properties from the superclass, instead of using the prototype chain.

[16] TypeScript transforms extends into code that copies static properties from the superclass (but uses the prototype chain for instance properties).

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

[18] The 2015 version of the specification also specifies an "enumerate" handler, which was removed in the 2016 version.

[19] Firefox 18 up to 37 doesn't allow a proxy's "get" handler to be triggered via the prototype chain, unless the proxied object does possess the named property (or the proxy's "has" handler reports it as present).

[20] The 2015 version of the specification also specifies Reflect.enumerate, which was removed in the 2016 version.

[21] Functionality for Symbol.iterator is tested by the "generic iterators" subtests for the spread (...) operator, for..of loops, destructuring, yield *, and Array.from.

[22] with is not supported in ejs

[23] Requires function "name" properties to be natively configurable

[24] Available as the draft standard String.prototype.contains

[25] Available from Firefox 27 up to 35 as the non-standard Array.prototype["@@iterator"]

[26] Available as Array.prototype[Symbol.iterator]

[27] Unlike other engines, Chakra sorts properties removed by delete, then recreated by assignment, to their original creation positions, not their latest positions.

[28] This uses native for-in enumeration order, rather than the correct order.

[29] The 2015 version of the specification contains multiple bugs for hoisted block-level function declaration semantics, which these tests disregard.

[30] Note that this is distinct from the existence or functionality of Object.prototype.__proto__.