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
[1]
ES6
Trans-
piler
Closure JSX[2] Type-
Script +
core-js
es6-
shim
IE 10 IE 11 Edge 12[3] Edge 13[3] Edge 14[3] FF 35 FF 36 FF 37 FF 38
ESR
FF 39 FF 40 FF 41 FF 42 FF 43 FF 44 FF 45 ESR FF 46 FF 47 FF 48 CH <19 CH 39,
OP 26
[0]
CH 40,
OP 27
[0]
CH 41,
OP 28
[0]
CH 42,
OP 29
[0]
CH 43,
OP 30
[0]
CH 44,
OP 31
[0]
CH 45,
OP 32
[0]
CH 46,
OP 33
[0]
CH 47,
OP 34
[0]
CH 48,
OP 35
[0]
CH 49,
OP 36
[0]
CH 50,
OP 37
[0]
CH 51,
OP 38
[0]
SF 5.1 SF 6 SF 6.1,
SF 7
SF 7.1,
SF 8
SF 9 WK OP 12 KQ
4.14
[4]
RH PJS Node
0.12
[5]
io.js
3.3
[5]
Node
4.0
[5]
Node
5.0
[5]
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
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 2/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
§direct recursion Flag[6] No No No No No[7] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§mutual recursion Flag[6] No No No No No[7] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
Syntax
§default function parameters 4/7 4/7 4/7 4/7 0/7 5/7 0/7 0/7 0/7 0/7 0/7 0/7 3/7 3/7 3/7 3/7 3/7 3/7 3/7 3/7 4/7 4/7 4/7 4/7 4/7 4/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 0/7 0/7 0/7 0/7 0/7 7/7 0/7 0/7 0/7 0/7 0/7 0/7 0/7 0/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
§basic functionality Yes Yes Yes Yes No Yes No No No Flag Flag Flag 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§explicit undefined defers to the default Yes Yes Yes Yes No Yes No No No Flag Flag Flag 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§defaults can refer to previous params Yes Yes Yes Yes No Yes No No No Flag Flag Flag 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§arguments object interaction Yes Yes Yes No No Yes No No No No Flag Flag No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§temporal dead zone No No No No No Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§separate scope No No No Yes 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 Flag Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§new Function() support No No No No No No[7] 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 Flag Yes Yes Yes No No No No No Yes No No No No No No No No No[0] Yes No No No No No No No No No No No
§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 3/5 3/5 4/5 4/5 4/5 4/5 4/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 0/5 0/5 0/5 0/5 0/5 5/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/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
§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 No No No No No No Flag Flag Flag Yes Yes Yes Yes Yes No No No No No Yes No No No No No Flag Flag Flag Yes Yes No No No No No No No No No No No
§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 No No No No No No Flag Flag Flag Yes Yes Yes Yes Yes No No No No No Yes No No No No No Flag Flag Flag No Yes No No No No No No No No No No No
§arguments object interaction Yes Yes No No No Yes No No No Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No Flag Flag Flag Yes Yes Yes Yes Yes No No No No No Yes No No No No No Flag Flag Flag Yes Yes No No No No No No No No No No No
§can't be used in setters Yes No No Yes Yes Yes No No No Yes Yes Yes No No No 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 No No No No No Yes No No No No No No Flag Flag Yes Yes No No No No No No No No No No No
§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 No No No No No No Flag Flag Flag Yes Yes Yes Yes Yes No No No No No Yes No No No No No Flag Flag Flag No[0] Yes No No No No No No No No No No No
§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 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 0/15 0/15 0/15 5/15 9/15 15/15 0/15 0/15 0/15 0/15 0/15 0/15 0/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
§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 No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No No Flag Flag Yes Yes Yes Yes No No No No No No No No 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 No No No No No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No No No Flag Yes Yes Yes Yes No No No No No No No No 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 No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No No Flag Flag Yes Yes Yes Yes No No No No No No No No 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 No No No No No No No No Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No No No Flag Yes No Yes Yes No No No No No No No No 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 No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No Flag Flag Yes Yes Yes No No No No No No No No No No No
§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 No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No No Flag Yes No Yes Yes No No No No No No No No No 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 No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No Flag Flag Yes Yes Yes No No No No No No No No No No No
§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 No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No No Flag Yes No Yes Yes No No No No No No No No No 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 No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No Flag Flag Yes Yes Yes No No No No No No No No No No No
§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 No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No Flag Yes No Yes No No No No No No No No No No No
§with generic iterables, in calls Yes Yes Yes[8] Yes No No No No No Yes Yes Yes No 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 No No No No No Yes No No No No No Flag Flag Yes Yes Yes Yes No No No No No No No No No No
§with generic iterables, in arrays Yes Yes Yes[8] Yes No No No No No Yes Yes Yes No 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 No No No No Yes Yes No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No Yes
§with instances of iterables, in calls Yes Yes Yes[8] Yes No No No No No Yes Yes Yes No 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 No No No No No Yes No No No No No Flag Flag Yes Yes Yes Yes No No No No No No No No No No
§with instances of iterables, in arrays Yes Yes Yes[8] Yes No No No No No Yes Yes Yes No 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 No No No No Yes Yes No No No No No No Flag Yes Yes Yes Yes No No No No No No No No No 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 No No No No No No Flag Flag Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No No Flag Flag Yes No Yes Yes No No No No No No No No 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 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 0/6 0/6 0/6 1/6 5/6 6/6 0/6 0/6 0/6 0/6 0/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
§computed properties 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes
§shorthand properties 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 No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§shorthand methods Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] Yes[9] No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§string-keyed shorthand methods 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 No No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§computed shorthand methods 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§computed accessors Yes Yes Yes No No Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No Yes Yes Yes No Yes No No No No No No No No No No No
§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 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 0/9 0/9 0/9 2/9 8/9 9/9 0/9 0/9 0/9 0/9 7/9 7/9 7/9 7/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
§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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Yes Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§with generic iterables Yes Yes Yes[8] Yes No No No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§with instances of generic iterables Yes Yes Yes[8] Yes No No No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No 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 Yes No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No 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 Yes No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No 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 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 0/4 0/4 0/4 0/4 4/4 4/4 0/4 0/4 0/4 0/4 0/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
§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 No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No 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 No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§octal supported by Number() No Yes No Yes No Yes[10] Yes No No Yes Yes Yes No 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 No No No No Yes Yes No No No No Flag Yes Yes Yes No Yes Yes No No No No No No No No No Yes
§binary supported by Number() No Yes No Yes No Yes[10] Yes No No Yes Yes Yes No 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 No No No No Yes Yes No No No No Flag Yes Yes Yes No Yes Yes No No No No No No No No No 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 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 0/5 0/5 0/5 0/5 5/5 5/5 0/5 0/5 0/5 0/5 0/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
§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 No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes No Yes Yes No No No No No No No No No Yes
§toString conversion No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§tagged template literals 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 No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§passed array is frozen Yes Yes Yes No Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§line break normalisation Yes Yes No Yes Yes Yes No No No 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 Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§RegExp "y" and "u" flags 2/4 2/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 2/4 4/4 4/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/4 2/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 2/4 4/4 4/4 0/4 0/4 0/4 0/4 0/4 4/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 2/4 2/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4
§"y" flag No No No No No No[7] No No No Flag 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"y" flag, lastIndex No No No No No No[7] No No No Flag 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"u" flag Yes Yes No No No No[7] No No No Yes Yes Yes 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 Yes Yes 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
§"u" flag, Unicode code point escapes Yes Yes No No No No[7] No No No Yes Yes Yes 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 Yes Yes 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
§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 18/22 19/22 19/22 19/22 19/22 19/22 19/22 19/22 19/22 19/22 19/22 19/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 21/22 0/22 0/22 0/22 9/22 19/22 22/22 0/22 0/22 0/22 0/22 0/22 0/22 0/22 0/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
§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 No No No No No No No No No No No Yes Yes Yes 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 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 No No No No No No No No No No No Yes Yes Yes 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 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 No No No No No No No No No No No Yes Yes Yes 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 Yes Yes
§with astral plane strings Yes Yes No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No Yes
§with generator instances 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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§with generic iterables 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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No 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 No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes 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 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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes 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 Yes Yes
§computed properties 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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes 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 No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes 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
§rest Yes Yes Yes Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No Yes
§defaults Yes Yes Yes Yes No Yes No No No No Flag Yes 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 No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No 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 No No No Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No Yes
§destructuring, assignment 23/24 24/24 17/24 15/24 11/24 19/24 0/24 0/24 0/24 0/24 0/24 22/24 19/24 20/24 20/24 20/24 20/24 20/24 21/24 21/24 21/24 21/24 21/24 21/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 23/24 0/24 0/24 0/24 12/24 21/24 24/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 0/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
§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 No No No No No No No No No No No Yes Yes Yes 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 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 No No No No No No No No No No No Yes Yes Yes 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 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 No No No No No No No No No No No Yes Yes Yes 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 Yes Yes
§with astral plane strings Yes Yes No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No Yes
§with generator instances 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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§with generic iterables 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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No 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 No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes 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 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 No No No No No No No No No No No Yes Yes Yes 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 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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes 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 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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes No No No No No No No No 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 No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes 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 No No No No No No No No No No No Yes Yes Yes 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 Yes Yes
§computed properties 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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes No No No No No No No No Yes Yes
§rest Yes Yes Yes Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No Yes
§nested rest Yes Yes No No No Yes No No No No Flag Yes 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 No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No Yes
§defaults Yes Yes Yes Yes No Yes No No No No Flag 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 No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No 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 17/23 18/23 18/23 18/23 18/23 18/23 18/23 18/23 18/23 18/23 18/23 18/23 19/23 19/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 22/23 0/23 0/23 0/23 10/23 18/23 23/23 0/23 0/23 0/23 0/23 0/23 0/23 0/23 0/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
§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 No No No No No No No No No No No Yes Yes Yes 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 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 No No No No No No No No No No No Yes Yes Yes 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 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 No No No No No No No No No No No Yes Yes Yes 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 Yes Yes
§with astral plane strings Yes Yes No No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No Yes
§with generator instances 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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§with generic iterables 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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No 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 No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes 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 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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes 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 Yes Yes
§computed properties 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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes No No No No No No No No Yes Yes
§new Function() support No No No No No No[7] 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 Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes No No No No No No No No No Yes Yes No No No No No No No No Yes Yes
§rest Yes Yes Yes Yes Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No 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 No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No Yes
§defaults Yes Yes Yes Yes No Yes No No No No Flag Yes 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 No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§defaults, new Function() support No No No No No No[7] 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 Yes Yes Yes No No No No No Yes No No No No No No No No No[0] Yes No No No No No No No No No No No
§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 0/2 0/2 0/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 0/2 0/2 0/2 0/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2
§in strings Yes Yes Yes Yes No Yes No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§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 Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§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 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 2/2 2/2 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2
§in constructors No No No No No No No No No No Yes Yes 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 No No No No No Yes No No No No No No No Yes Yes Yes No No No No No No No No No No No
§assignment is an early error No No No No No No No No No No No Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No No Yes Yes Yes No No No No No No No No No No No
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 10/16 10/16 10/16 10/16 10/16 10/16 10/16 10/16 12/16 12/16 12/16 12/16 12/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 1/16 1/16 1/16 1/16 1/16 16/16 1/16 2/16 0/16 1/16 1/16 9/16 8/16 8/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
§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 No 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 No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§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 No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§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 No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No No Yes Yes No No No No No No No No No No
§for loop statement scope Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[0] Flag[0] Flag[0] Flag[0] Flag[0] Flag[0] Flag[0] Flag[0] Flag[0] Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No No Yes Yes No No No No No No No No No No
§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 Flag Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No Yes No No Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No
§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 No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No
§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 No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No No
§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 No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes No Yes Yes No No No No No No No No No No
§for loop statement scope (strict mode) Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[0] Flag[0] Flag[0] Flag[0] Flag[0] Flag[0] Flag[0] Flag[0] Flag[0] Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No
§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 No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes No Yes No No No No No No No No No No No
§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 No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No Yes No No No Yes No No No No No No No No No No No
§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 No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes No Yes Yes No No No No No No No No No No
§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 0/12 0/12 0/12 10/12 10/12 10/12 10/12 10/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 0/12 0/12 0/12 0/12 0/12 12/12 0/12 0/12 0/12 0/12 0/12 6/12 6/12 6/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
§basic support Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§is block-scoped Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§cannot be in statements Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§for loop statement scope Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§temporal dead zone No Flag No No No No No No Yes Yes Yes Yes Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Yes Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§basic support (strict mode) Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No
§is block-scoped (strict mode) Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No
§cannot be in statements (strict mode) Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No
§for loop statement scope (strict mode) Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No No No No No
§temporal dead zone (strict mode) No Flag No No No No No No Yes Yes Yes Yes Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Flag[11] Yes Yes Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes No Yes No No No No No No No No No No No
§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 No No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes No Yes No No No No No No No No No No No
§block-level function declaration[12] Yes Yes No Yes No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No Flag Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes No Yes No No No No No No No No No No No
Functions
§arrow functions 11/13 9/13 8/13 11/13 8/13 9/13 0/13 0/13 0/13 8/13 12/13 12/13 8/13 8/13 8/13 8/13 9/13 9/13 10/13 10/13 11/13 11/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 0/13 0/13 0/13 0/13 0/13 13/13 0/13 0/13 0/13 0/13 0/13 0/13 9/13 10/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
§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 No Flag No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag No Yes Yes Yes Yes No No No No No No No No No No No
§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 No Flag No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag No Yes Yes Yes Yes No No No No No No No No No No No
§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 No Flag No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag No Yes Yes Yes Yes No No No No No No No No No No No
§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 No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No
§"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 No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No
§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 No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No
§lexical "arguments" binding Yes Yes No Yes No No No No No Yes Yes Yes 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 No No No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No
§no line break between params and => Yes Yes No Yes No Yes No No No Yes Yes Yes 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 No No No No No Yes No No No No No No Yes Yes No Yes No No No No No No No No No No No
§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 No No No No No No No No No Yes Yes Yes Yes Yes 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 "prototype" property No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Flag No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No Yes Yes No Yes No No No No No No No No No No No
§lexical "super" binding in constructors Yes No Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No Strict Strict No Yes No No No No No No No No No No No
§lexical "super" binding in methods Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No Strict Strict No Yes No No No No No No No No No No No
§lexical "new.target" binding No No No No No No No No No No Yes Yes 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 No No No No No Yes No No No No No No No Yes No Yes No No No No No No No No No No No
§class 17/24 19/24 17/24 9/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 0/24 0/24 0/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 0/24 0/24 0/24 0/24 16/24 24/24 0/24 0/24 0/24 0/24 0/24 0/24 0/24 0/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
§class statement Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§is block-scoped No Yes No Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No No
§class expression Yes Yes Yes No Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§anonymous class Yes Yes Yes No Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§constructor Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§prototype methods Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§string-keyed methods Yes Yes Yes No Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§computed prototype methods Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No Strict Strict Yes Yes No No No No No No No No No No No
§optional semicolons Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§static methods Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§computed static methods Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No Strict Strict Yes Yes No No No No No No No No No No No
§accessor properties Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§computed accessor properties Yes Yes Yes No No Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No Strict Strict Yes Yes No No No No No No No No No No No
§static accessor properties Yes Yes Yes No Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§computed static accessor properties Yes Yes Yes No No Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No Strict Strict Yes Yes No No No No No No No No No No No
§class name is lexically scoped Yes Yes Yes No No Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No No
§computed names, temporal dead zone No No No No No Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No Strict Strict No Yes No No No No No No No No No No No
§methods aren't enumerable No Yes No No Yes No No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§implicit strict mode Yes Yes Yes No Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§constructor requires new No Yes No No No No No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§extends No[0] No[0] No[13] No[14] No[14] No[15] No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§extends expressions No[13] No[13] No[13] No No[14] No[15] No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§extends null Yes No Yes No Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict No Yes Yes No No No No No No No No No Yes
§new.target 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 No No No No No No No No Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No No Strict Yes Yes No No No No No No No No No No No
§super 7/8 4/8 7/8 4/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 0/8 0/8 0/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 0/8 0/8 0/8 0/8 6/8 8/8 0/8 0/8 0/8 0/8 0/8 0/8 0/8 0/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
§statement in constructors Yes No Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict No Yes Yes No No No No No No No No No Yes
§expression in constructors Yes No Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict No Yes Yes No No No No No No No No No Yes
§in methods, property access Yes Yes Yes No Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§in methods, method calls Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No 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 No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No 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 No No No Yes Yes Yes Yes No No No No No No No No Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No No Strict Yes Yes No No No No No No No No No No No
§is statically bound Yes Yes Yes No Yes Yes No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§super() invokes the correct constructor Yes No Yes No Yes Yes No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No No
§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 16/27 19/27 19/27 20/27 20/27 20/27 20/27 20/27 21/27 21/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 0/27 0/27 0/27 0/27 0/27 27/27 0/27 0/27 0/27 0/27 0/27 19/27 20/27 20/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
§basic functionality 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§generator function expressions 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§correct "this" binding 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§can't use "this" with new No No No No No No No No No No Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§sending 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§%GeneratorPrototype% Yes Yes No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes No Yes No No No No No No No Yes No No No
§%GeneratorPrototype% prototype chain Yes Yes No No No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag No Yes Yes No Yes No No No No No No No No No No No
§%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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes No Yes No No No No No No No Yes No No No
§%GeneratorPrototype%.throw 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§%GeneratorPrototype%.return Yes Yes No No No No No No No Flag Yes Yes 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 No Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§yield operator precedence 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§yield *, 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§yield *, sparse 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§yield *, strings 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§yield *, astral plane strings Yes Yes No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§yield *, 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§yield *, generic iterables Yes Yes No Yes No No No No No Flag Yes Yes 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 No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§yield *, instances of iterables Yes Yes No Yes No No No No No Flag Yes Yes 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 No No No No No Yes No No No No Flag Yes Yes Yes Yes Yes No No No No No No No Yes No No No
§yield * on non-iterables is a runtime error Yes No No No No No No No No Flag Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No Flag Yes Yes Yes No Yes No No No No No No No Yes No No No
§yield *, iterator closing Yes 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 Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§yield *, iterator closing via throw() 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 No No No No No No No No No No No No No Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§shorthand generator methods 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 No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No
§string-keyed shorthand generator methods Yes Yes No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No
§computed shorthand generators 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 No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No
§shorthand generator methods, classes Yes Yes No Yes No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict No Yes No No No No No No No No No No No
§computed shorthand generators, classes Yes Yes No Yes No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No Strict Strict No Yes No No No No No No No No No No No
§shorthand generators can't be constructors No Yes No No No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No Strict Strict Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict No Yes No No No No No No No No No No No
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 45/46 20/46 20/46 35/46 41/46 41/46 41/46 41/46 41/46 41/46 42/46 42/46 43/46 43/46 43/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 45/46 16/46 18/46 18/46 18/46 18/46 46/46 19/46 8/46 0/46 18/46 23/46 23/46 43/46 43/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
§Int8Array No Yes No No No Yes[10] 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 No 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[10] 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 No 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[10] 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No Yes Yes No No No No Yes Yes Yes Yes Yes Yes
§Int16Array No Yes No No No Yes[10] 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 No 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[10] 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 No 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[10] 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 No 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[10] 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 No 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[10] 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 No 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[10] 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 No Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes
§DataView (Int8) No Yes No No No Yes[10] 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 No No 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[10] 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 No No 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[10] 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 No No 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[10] 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 No No 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[10] 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 No No 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[10] 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 No No 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[10] 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 No No 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[10] 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 No No 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[10] 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 Flag Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§constructors require new No Yes No No No Yes[10] No No No No No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes No No No
§constructors accept generic iterables No Yes No No No Yes[10] No No No 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 No No No No No No Yes Yes No Yes Yes No No No No No No No No No No
§correct prototype chains 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 No No No No No No No No Yes No No No No No No No No No Yes Yes No No No No No No No No No No
§%TypedArray%.from No Yes No No No Yes[10] No No No Yes Yes Yes No No No 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 No No No No No Yes No No No No No No Yes Yes No Yes Yes No No No No No No No No No No
§%TypedArray%.of No Yes No No No Yes[10] No No No Yes Yes Yes No No No 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 No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.subarray No Yes No No No Yes[10] 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 No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes
§%TypedArray%.prototype.join No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.indexOf No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.lastIndexOf No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.slice No Yes No No No Yes[10] No No No Yes Yes Yes No No No 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 No No No No No Yes No No No No No No Yes Yes No Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.every No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.filter No Yes No No No Yes[10] No No No Yes Yes Yes No No No 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 No No No No No Yes No No No No No No Yes Yes No Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.forEach No Yes No No No Yes[10] No No No Yes Yes Yes No No No 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 No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.map No Yes No No No Yes[10] No No No Yes Yes Yes No No No 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 No No No No No Yes No No No No No No Yes Yes No Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.reduce No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.reduceRight No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.reverse No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.some No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.sort No Yes No No No Yes[10] No No No Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No Yes Yes No Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.copyWithin No Yes No No No Yes[10] 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 Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.find No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.findIndex No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.fill No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§%TypedArray%.prototype.keys No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No
§%TypedArray%.prototype.values No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No
§%TypedArray%.prototype.entries No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No No
§%TypedArray%.prototype[Symbol.iterator] No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No No Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No No
§%TypedArray%[Symbol.species] No Yes No No No Yes[10] 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 Flag Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§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 13/19 14/19 15/19 15/19 15/19 15/19 16/19 17/19 17/19 17/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 0/19 0/19 0/19 11/19 18/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 0/19 0/19 0/19 0/19 0/19 0/19 16/19 0/19 11/19 18/19
§basic functionality Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§constructor arguments Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§constructor requires new No Yes No No No Yes[10] Yes No Yes Yes Yes Yes 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 No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§constructor accepts null Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§constructor invokes set No Yes No Yes No Yes[10] Yes No No Yes Yes Yes No No 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 No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§iterator closing No Yes No No No Yes[10] No No No No No No No No No 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 No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No Yes
§Map.prototype.set returns this Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§-0 key converts to +0 No Yes No No No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Flag Yes Yes Yes No Yes Yes No No No No No No Yes No No Yes
§Map.prototype.size Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Map.prototype.delete Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Map.prototype.clear Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Map.prototype.forEach Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Map.prototype.keys Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Map.prototype.values Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Map.prototype.entries Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Map.prototype[Symbol.iterator] Yes Yes No Yes No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§Map.prototype isn't an instance Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Map iterator prototype chain Yes Yes No No No Yes[10] No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Map[Symbol.species] No Yes No No No Yes[10] No No No No Yes Yes 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 13/19 14/19 15/19 15/19 15/19 15/19 16/19 17/19 17/19 17/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 0/19 0/19 0/19 11/19 18/19 19/19 0/19 0/19 0/19 0/19 13/19 16/19 17/19 17/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
§basic functionality Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§constructor arguments Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§constructor requires new No Yes No No No Yes[10] Yes No Yes Yes Yes Yes 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 No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§constructor accepts null Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§constructor invokes add No Yes No Yes No Yes[10] Yes No No Yes Yes Yes No No 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 No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§iterator closing No Yes No No No Yes[10] No No No No No No No No No 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 No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No Yes
§Set.prototype.add returns this Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§-0 key converts to +0 No Yes No No No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§Set.prototype.size Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Set.prototype.delete Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Set.prototype.clear Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Set.prototype.forEach Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Set.prototype.keys Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Set.prototype.values Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Set.prototype.entries Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Set.prototype[Symbol.iterator] Yes Yes No Yes No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§Set.prototype isn't an instance Yes Yes No Yes No Yes[10] 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 Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Set iterator prototype chain Yes Yes No No No Yes[10] No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Set[Symbol.species] No Yes No No No Yes[10] No No No No Yes Yes 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§WeakMap 6/12 12/12 0/12 0/12 0/12 12/12 0/12 0/12 6/12 11/12 11/12 11/12 5/12 6/12 7/12 8/12 8/12 9/12 9/12 10/12 10/12 10/12 10/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 0/12 0/12 0/12 7/12 12/12 12/12 0/12 0/12 0/12 0/12 7/12 11/12 11/12 11/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
§basic functionality Yes Yes No No No Yes[10] 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 No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No Yes Yes
§constructor arguments No Yes No No No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§constructor requires new No Yes No No No Yes[10] No No Yes Yes Yes Yes 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 No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No Yes Yes
§constructor accepts null Yes Yes No No No Yes[10] 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 No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No Yes Yes
§constructor invokes set No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§frozen objects as keys Yes Yes No No No Yes[10] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes No Yes Yes No No No No No Yes Yes No Yes Yes
§iterator closing No Yes No No No Yes[10] No No No No No No No No No 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 No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No Yes
§WeakMap.prototype.set returns this Yes Yes No No No Yes[10] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§WeakMap.prototype.delete Yes Yes No No No Yes[10] 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 No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No Yes Yes
§no WeakMap.prototype.clear method No Yes No No No Yes[10] No No No Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§.has, .get and .delete methods accept primitives No Yes No No No Yes[10] No No Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes ? ? ? No No No No No No No No No Yes
§WeakMap.prototype isn't an instance Yes Yes No No No Yes[10] No No Yes Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No Yes Yes
§WeakSet 5/11 11/11 0/11 0/11 0/11 11/11 0/11 0/11 0/11 10/11 10/11 10/11 6/11 7/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 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 0/11 0/11 0/11 0/11 11/11 11/11 0/11 0/11 0/11 0/11 6/11 10/11 10/11 10/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
§basic functionality Yes Yes No No No Yes[10] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes
§constructor arguments No Yes No No No Yes[10] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§constructor requires new No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes
§constructor accepts null Yes Yes No No No Yes[10] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes
§constructor invokes add No Yes No No No Yes[10] No No No Yes Yes Yes No No 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 No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§iterator closing No Yes No No No Yes[10] No No No No No No No No No 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 No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No Yes
§WeakSet.prototype.add returns this Yes Yes No No No Yes[10] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§WeakSet.prototype.delete Yes Yes No No No Yes[10] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes
§no WeakSet.prototype.clear method No Yes No No No Yes[10] No No No Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§.has and .delete methods accept primitives No Yes No No No Yes[10] No No No Yes Yes Yes No 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 No No No No Yes Yes No No No No No Yes Yes Yes ? ? ? No No No No No No No No No Yes
§WeakSet.prototype isn't an instance Yes Yes No No No Yes[10] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes
§Proxy 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 34/34 34/34 34/34 26/34 26/34 27/34 28/34 28/34 29/34 29/34 29/34 29/34 29/34 30/34 30/34 30/34 30/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 33/34 33/34 0/34 0/34 0/34 0/34 0/34 34/34 0/34 0/34 0/34 0/34 0/34 0/34 0/34 0/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
§constructor requires new No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§no "prototype" property No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"get" handler No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"get" handler, instances of proxies No No No No No No[7] No No No Yes Yes Yes No[16] No[16] No[16] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"get" handler invariants No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"set" handler No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"set" handler, instances of proxies No No No No No No[7] No No No Yes Yes Yes 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"set" handler invariants No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"has" handler No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"has" handler, instances of proxies No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"has" handler invariants No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"deleteProperty" handler No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"deleteProperty" handler invariant No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"getOwnPropertyDescriptor" handler No No No No No No[7] 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 No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§"getOwnPropertyDescriptor" handler invariants No No No No No No[7] 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 No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§"defineProperty" handler No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"defineProperty" handler invariants No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"getPrototypeOf" handler No No No No No No[7] 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"getPrototypeOf" handler invariant No No No No No No[7] 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"setPrototypeOf" handler No No No No No No[7] 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"setPrototypeOf" handler invariant No No No No No No[7] 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"isExtensible" handler No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"isExtensible" handler invariant No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"preventExtensions" handler No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"preventExtensions" handler invariant No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"ownKeys" handler No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"ownKeys" handler invariant No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§"apply" handler No No No No No No[7] 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 No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§"apply" handler invariant No No No No No No[7] 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 No No No No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§"construct" handler No No No No No No[7] 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 No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§"construct" handler invariants No No No No No No[7] No No No Yes Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Proxy.revocable No No No No No No[7] 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 No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Array.isArray support No No No No No No[7] 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§JSON.stringify support No No No No No No[7] No No No Yes Yes Yes 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect 0/16 14/16 0/16 0/16 0/16 14/16 14/16 0/16 0/16 13/16 16/16 16/16 0/16 0/16 0/16 0/16 0/16 0/16 0/16 15/16 15/16 16/16 16/16 16/16 16/16 16/16 0/16 0/16 0/16 0/16 0/16 0/16 0/16 0/16 0/16 0/16 0/16 16/16 16/16 16/16 0/16 0/16 0/16 0/16 0/16 16/16 0/16 0/16 0/16 0/16 0/16 0/16 0/16 0/16 14/16 16/16 0/16 0/16 0/16 0/16 0/16 0/16 0/16 0/16 0/16 0/16 0/16
§Reflect.get No Yes No No No Yes[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.set No Yes No No No Yes[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.has No Yes No No No Yes[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.deleteProperty No Yes No No No Yes[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Reflect.getOwnPropertyDescriptor No Yes No No No Yes[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.defineProperty No Yes No No No Yes[10] Yes No No No Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Reflect.getPrototypeOf No Yes No No No Yes[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.setPrototypeOf No No[13] No No No No[13] No[13] No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.isExtensible No Yes No No No Yes[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.preventExtensions No Yes No No No Yes[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.ownKeys, string keys No Yes No No No Yes[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.ownKeys, symbol keys No Yes No No No Yes[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.apply No Yes No No No Yes[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.construct No Yes No No No Yes[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.construct sets new.target meta property No No No No No No[7] No No No No Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.construct creates instance from newTarget argument No Yes No No No Yes[10] Yes No No No Yes Yes 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 4/8 5/8 7/8 7/8 7/8 7/8 7/8 7/8 7/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 0/8 0/8 0/8 4/8 6/8 8/8 0/8 0/8 0/8 0/8 4/8 7/8 7/8 7/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
§basic functionality Yes Yes No No No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes No Yes Yes
§constructor requires new No Yes No No No Yes[10] Yes No No Yes Yes Yes No No 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 No No No No No Yes No No No No No Yes Yes Yes Yes Yes No No No No No No Yes Yes No No No
§Promise.prototype isn't an instance Yes Yes No No No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes No Yes Yes
§Promise.all Yes Yes No No No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes No Yes No No No No No No Yes Yes No Yes Yes
§Promise.all, generic iterables No Yes No No No Yes[10] Yes No No Yes Yes Yes No No No 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 No No No No Yes Yes No No No No No Yes Yes Yes No Yes No No No No No No No No No No Yes
§Promise.race Yes Yes No No No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes No Yes No No No No No No Yes Yes No Yes Yes
§Promise.race, generic iterables No Yes No No No Yes[10] Yes No No Yes Yes Yes No No No 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 No No No No Yes Yes No No No No No Yes Yes Yes No Yes No No No No No No No No No No Yes
§Promise[Symbol.species] No Yes No No No Yes[10] No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No Flag Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Symbol 4/11 8/11 0/11 2/11 0/11 7/11 1/11 0/11 0/11 10/11 11/11 11/11 0/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 10/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 0/11 0/11 0/11 0/11 10/11 11/11 0/11 0/11 0/11 0/11 9/11 10/11 10/11 10/11 4/11 11/11 11/11 0/11 0/11 0/11 0/11 0/11 0/11 10/11 0/11 0/11 10/11
§basic functionality Yes Yes No Yes No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§typeof support Yes Yes No No No No[7] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§symbol keys are hidden to pre-ES6 code No Yes No No No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No Yes
§Object.defineProperty support Yes Yes No Yes No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§symbols inherit from Symbol.prototype No Yes No No No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§cannot coerce to string or number No No No No No No[7] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No Yes
§can convert with String() No No No No No No[7] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No No Yes Yes Yes No Yes Yes No No No No No No Yes No No Yes
§new Symbol() throws Yes Yes No No No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No Yes
§Object(symbol) No No No No No No[7] No No No Yes Yes Yes No 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 No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No Yes
§JSON.stringify ignores symbols No Yes No No No Yes[10] Yes No No No Yes Yes 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 No No No No No Yes No No No No Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No No
§global symbol registry No Yes No No No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No Yes
§well-known symbols[17] 1/26 14/26 0/26 1/26 0/26 15/26 0/26 0/26 0/26 3/26 9/26 9/26 0/26 1/26 1/26 1/26 1/26 5/26 6/26 6/26 6/26 7/26 8/26 9/26 9/26 9/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 21/26 0/26 0/26 0/26 0/26 3/26 16/26 0/26 0/26 0/26 0/26 2/26 3/26 3/26 3/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
§Symbol.hasInstance No Flag No No No No[7] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Flag Flag No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§Symbol.isConcatSpreadable No No No No No No[7] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes 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
§Symbol.iterator, existence Yes Yes No Yes No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No 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 No No No Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§Symbol.species, existence No Yes No No No Yes[10] No No No No Yes Yes 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 No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§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 No No No No No No No No No No No No No No No No Flag Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§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 No No No No No No No No No No No No No No No No Flag Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§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 No No No No No No No No No No No No No No No No Flag Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§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 No No No No No No No No No No No No No No No No Flag Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§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 No No No No No No No No No No No No No No No No Flag Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§Symbol.species, RegExp.prototype[Symbol.split] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No 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
§Symbol.species, Promise.prototype.then No Yes No No No Yes[10] 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 Flag Yes 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
§Symbol.replace No Yes No No No Yes[10] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No Yes Yes Yes No No No No No No No No No No
§Symbol.search No Yes No No No Yes[10] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§Symbol.split No Yes No No No Yes[10] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No Yes Yes Yes No No No No No No No No No No
§Symbol.match No Yes No No No Yes[10] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No Yes Yes Yes No No No No No No No No No No
§Symbol.match, RegExp constructor No Yes No No No Yes[10] No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No Yes Yes 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
§Symbol.match, String.prototype.startsWith No Yes No No No Yes[10] No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No
§Symbol.match, String.prototype.endsWith No Yes No No No Yes[10] No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No
§Symbol.match, String.prototype.includes No Yes No No No Yes[10] No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No
§Symbol.toPrimitive No No No No No No[7] 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 Yes Yes Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§Symbol.toStringTag No Yes No No No Yes[10] No No No No No No No No No No No No No No No No No No No No No No Flag Flag Flag Flag Flag Flag Flag Flag Flag Yes Yes Yes No No No No No Yes No No No No No Flag Flag Flag Yes Yes Yes No No No No No No No No No No
§Symbol.toStringTag affects existing built-ins No Yes No No No Yes[10] No No No No No No No No No No No No No No No No No No No No No No Flag Flag Flag Flag Flag Flag Flag Flag Flag Yes Yes Yes No No No No No Yes No No No No No Flag Flag Flag Yes Yes Yes No No No No No No No No No No
§Symbol.toStringTag, new built-ins No No No No No Yes[10] No No No No No No No 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 Yes Yes No No No No No No No No No No
§Symbol.toStringTag, misc. built-ins No Yes No No No Yes[10] No No No No No No No No No No No No No No No No No No No No No No Flag Flag Flag Flag Flag Flag Flag Flag Flag Yes Yes Yes No No No No No Yes No No No No No Flag Flag Flag Yes Yes Yes No No No No No No No No No No
§Symbol.unscopables No No No No No No[7] No No No Yes Yes Yes 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 No No No No Yes Yes Yes Yes No[18] Yes Yes No No No No No No Yes No No 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 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 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 0/4 0/4 0/4 0/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 0/4 1/4 1/4 1/4 1/4 2/4 3/4 0/4 0/4 4/4
§Object.assign Yes Yes No Yes No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Object.is Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No Yes
§Object.getOwnPropertySymbols Yes Yes No No No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§Object.setPrototypeOf No No[13] No No No No[13] No[13] 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No 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 15/17 5/17 5/17 5/17 6/17 6/17 6/17 6/17 6/17 6/17 6/17 10/17 10/17 11/17 11/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 11/17 3/17 3/17 3/17 3/17 6/17 17/17 2/17 3/17 3/17 3/17 2/17 5/17 6/17 6/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
§function statements No Yes No No No Yes[10] 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
§function expressions No Yes No No No Yes[10] 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
§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 No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes No No No No No[0] Yes Yes Yes No No No No No No 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 No No No Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No
§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 Flag Flag No No No No No Yes No No No No No No No No No Yes Yes No No No No No No No No No No
§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 Flag Flag No No No No No Yes No No No No No No No No No Yes Yes No No No No No No No No No No
§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 No No No No No No No No No No No No No No No Flag Flag No No No No No Yes No No No No No No No No No Yes Yes No No No No No No No No No No
§shorthand methods No Yes No No No No No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes No Yes Yes No No No No No No No No No Yes
§shorthand methods (no lexical binding) No Yes No No No Yes[10] No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Flag Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No
§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 Flag Flag No No No No No Yes No No No No No No No No No Yes Yes No No No No No No No No No No
§class statements No No[19] No No No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict No Yes No No No No No No No No No No No
§class expressions No No[19] No No No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict No Yes No No No No No No No No No No No
§variables (class) No No[19] 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 Flag Flag No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 Flag Flag No No No No No Yes No No No No No No No No No Yes Yes No No No No No No No No No No
§class prototype methods No Yes No No No No No No No Flag Yes No No No No No No No No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict No Yes Yes No No No No No No No No No Yes
§class static methods No Yes No No No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§isn't writable, is configurable 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No Yes Yes Yes No Yes Yes No No No No No No No No No No
§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 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 0/2 0/2 0/2 0/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 2/2 2/2 2/2 2/2 2/2 2/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 0/2 2/2
§String.raw Yes Yes No No No Yes[10] Yes No No 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 Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§String.fromCodePoint Yes Yes No Yes No Yes[10] Yes No No 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 No No No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§String.prototype methods 6/8 7/8 0/8 5/8 0/8 7/8 5/8 0/8 0/8 7/8 8/8 8/8 5/8 6/8 6/8 6/8 6/8 7/8 7/8 7/8 7/8 7/8 8/8 8/8 8/8 8/8 0/8 2/8 2/8 7/8 7/8 7/8 7/8 8/8 8/8 8/8 8/8 8/8 8/8 8/8 0/8 0/8 0/8 0/8 7/8 8/8 0/8 0/8 0/8 0/8 1/8 7/8 8/8 8/8 7/8 8/8 8/8 0/8 0/8 0/8 0/8 0/8 1/8 2/8 0/8 0/8 7/8
§String.prototype.codePointAt Yes Yes No Yes No Yes[10] Yes No No 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 No No No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No Yes Yes Yes No Yes Yes No No No No No Yes Yes No No No
§String.prototype.repeat Yes Yes No Yes No Yes[10] Yes No No 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 No No No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§String.prototype.startsWith Yes Yes No Yes No Yes[10] Yes No No 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 No No No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§String.prototype.endsWith Yes Yes No Yes No Yes[10] Yes No No 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 No No No No Yes Yes No No No No Flag Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§String.prototype.includes Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes No[20] No[20] No[20] No[20] No[20] Yes Yes Yes Yes Yes Yes Yes Yes Yes No No[20] No[20] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Flag[20] Yes Yes Yes Yes Yes Yes No No No No No[20] No[20] No[20] No No Yes
§String.prototype[Symbol.iterator] Yes Yes No No No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§String iterator prototype chain No Yes No No No Yes[10] No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No 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 0/6 1/6 1/6 1/6 1/6 1/6 1/6 1/6 1/6 1/6 1/6 1/6 1/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 0/6 0/6 0/6 0/6 1/6 3/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/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
§RegExp.prototype.flags No Yes No No No Yes[10] Yes No No No No Flag No No 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 No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No Yes
§RegExp.prototype[Symbol.match] No Yes No No No Yes[10] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No Yes Yes Yes No No No No No No No No No No
§RegExp.prototype[Symbol.replace] No Yes No No No Yes[10] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No Yes Yes Yes No No No No No No No No No No
§RegExp.prototype[Symbol.split] No Yes No No No Yes[10] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No Yes Yes Yes No No No No No No No No No No
§RegExp.prototype[Symbol.search] No Yes No No No Yes[10] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§RegExp[Symbol.species] No Yes No No No Yes[10] 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 Flag Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 7/11 9/11 9/11 9/11 9/11 9/11 9/11 9/11 9/11 9/11 9/11 9/11 9/11 9/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 0/11 0/11 0/11 0/11 8/11 11/11 0/11 0/11 0/11 0/11 0/11 0/11 9/11 9/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
§Array.from, array-like objects Yes Yes No Yes No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Array.from, generator instances Yes Yes No Yes No No[7] 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 No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No Yes Yes Yes Yes No No No No No No No No No No No
§Array.from, generic iterables Yes Yes No Yes No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Array.from, instances of generic iterables Yes Yes No Yes No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Array.from map function, array-like objects Yes Yes No No No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No No Yes Yes No Yes Yes No No No No No No No No No Yes
§Array.from map function, generator instances Yes Yes No No No No[7] 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 No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No Yes Yes No Yes No No No No No No No No No No No
§Array.from map function, generic iterables Yes Yes No No No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No No Yes Yes No Yes Yes No No No No No No No No No Yes
§Array.from map function, instances of iterables Yes Yes No No No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes No No No No No No Yes Yes No Yes Yes No No No No No No No No No Yes
§Array.from, iterator closing Yes Yes No No No Yes[10] No No No No No No No No No 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 No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No Yes
§Array.of Yes Yes No Yes No Yes[10] Yes 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 No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Array[Symbol.species] No Yes No No No Yes[10] 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 Flag Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Array.prototype methods 7/10 10/10 0/10 7/10 0/10 10/10 7/10 0/10 0/10 9/10 10/10 10/10 6/10 7/10 7/10 7/10 7/10 7/10 7/10 7/10 7/10 7/10 8/10 8/10 8/10 8/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 9/10 0/10 0/10 0/10 5/10 10/10 10/10 0/10 0/10 0/10 0/10 5/10 4/10 8/10 8/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
§Array.prototype.copyWithin No Yes No Yes No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Array.prototype.find Yes Yes No Yes No Yes[10] Yes No No 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 No No No Yes Yes Yes No No No No Flag Flag Yes Yes Yes Yes Yes No No No No No No No No Yes Yes
§Array.prototype.findIndex Yes Yes No Yes No Yes[10] Yes No No 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 No No No Yes Yes Yes No No No No Flag Flag Yes Yes Yes Yes Yes No No No No No No No No Yes Yes
§Array.prototype.fill Yes Yes No Yes No Yes[10] Yes No No 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 No No No Yes Yes Yes No No No No Flag Flag Yes Yes Yes Yes Yes No No No No No No No No Yes Yes
§Array.prototype.keys Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Array.prototype.values Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes No[21] No[22] No[22] No[22] No[22] No[22] No[22] No[22] No[22] No[22] No[22] No[22] No[22] No[22] No No[22] No[22] No[22] No[22] No[22] No[22] No[22] No[22] No[22] No[22] No[22] No[22] No[22] No No No No Yes Yes No No No No Yes No[22] No No Yes Yes Yes No No No No No No No[22] No No Yes
§Array.prototype.entries Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Array.prototype[Symbol.iterator] Yes Yes No No No Yes[10] No No No Yes Yes Yes No[21] Yes 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 No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§Array iterator prototype chain No Yes No No No Yes[10] No No No No Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No No Yes No No No No Yes Yes No No No No No No No No Yes Yes Yes No No No No No No No No No Yes
§Array.prototype[Symbol.unscopables] No Yes No No No Yes[10] No No No Yes Yes Yes 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 No No No No Yes Yes Yes Yes No Yes Yes No No No No No No Yes No No 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 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 0/7 0/7 0/7 0/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 0/7 2/7 2/7 2/7 2/7 7/7 7/7 0/7 0/7 7/7
§Number.isFinite Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No Yes
§Number.isInteger Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes
§Number.isSafeInteger Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes
§Number.isNaN Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No Yes
§Number.EPSILON Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes
§Number.MIN_SAFE_INTEGER Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No Yes
§Number.MAX_SAFE_INTEGER Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes No No 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 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 0/17 0/17 1/17 15/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 0/17 0/17 0/17 0/17 1/17 1/17 17/17 1/17 15/17 17/17
§Math.clz32 Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§Math.imul Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes
§Math.sign Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No No Yes
§Math.log10 Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Math.log2 Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Math.log1p Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Math.expm1 Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Math.cosh Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Math.sinh Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Math.tanh Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Math.acosh Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Math.asinh Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Math.atanh Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Math.trunc Yes Yes No Yes No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Math.fround Yes Yes No No No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Math.cbrt Yes Yes No No No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Math.hypot Yes Yes No No No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes No Yes Yes
§Date.prototype[Symbol.toPrimitive] No Yes No No No Yes[10] 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 Yes Yes Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
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 0/11 0/11 0/11 6/11 6/11 6/11 6/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 0/11 0/11 0/11 0/11 3/11 11/11 0/11 0/11 0/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 0/11 3/11
§length property (accessing) 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§length property (setting) 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§correct prototype chain No No[13] No No No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No No
§Array.isArray support 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict No No Yes Yes Yes No No No No No No No No No 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 No No No No No No No No No No No No No No No No Flag Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§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 No No No No No No No No No No No No No No No No Flag Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§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 No No No No No No No No No No No No No No No No Flag Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§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 No No No No No No No No No No No No No No No No Flag Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§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 No No No No No No No No No No No No No No No No Flag Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§Array.from No[13] No[13] No No No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§Array.of No[13] No[13] No No No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes Yes No No No No No No No No No No
§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 0/4 0/4 0/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 0/4 0/4 0/4 0/4 3/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 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 3/4
§basic functionality 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No Yes
§correct prototype chain No No[13] No No No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No No
§RegExp.prototype.exec 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict No Strict Yes Yes Yes No No No No No No No No No Yes
§RegExp.prototype.test 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No Yes Yes No No No No No Strict No Strict Yes Yes Yes No No No No No No No No No 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 0/6 0/6 0/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 0/6 0/6 0/6 0/6 0/6 6/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/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
§can be called 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict No Yes No No No No No No No No No No No
§correct prototype chain No No[13] No No No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§can be used with "new" 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 No No No No No Strict Strict Strict Strict Strict No Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict No Yes No No No No No No No No No No No
§Function.prototype.call 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict No Yes No No No No No No No No No No No
§Function.prototype.apply 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict No Yes No No No No No No No No No No No
§Function.prototype.bind 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 No No No No No No No No No No Flag Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 0/4 0/4 0/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 0/4 0/4 0/4 0/4 0/4 4/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/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
§basic functionality 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict No Strict Yes Yes No No No No No No No No No No No
§correct prototype chain 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict Yes Yes No No No No No No No No No No No
§Promise.all 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict No Strict No Yes No No No No No No No No No No No
§Promise.race 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict No Strict No Yes No No No No No No No No No No No
§miscellaneous subclassables 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 0/5 0/5 0/5 5/5 5/5 5/5 5/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 5/5 5/5 5/5 0/5 0/5 0/5 0/5 0/5 5/5 0/5 0/5 0/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 0/5 0/5
§Boolean is subclassable 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No No
§Number is subclassable 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No No
§String is subclassable 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No No
§Map is subclassable 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No No
§Set is subclassable 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 No No No No No Strict Strict Strict Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No Strict Strict Strict Yes Yes Yes No No No No No No No No No No
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 0/5 0/5 0/5 5/5 5/5 5/5 5/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 3/5 3/5 3/5 5/5 5/5 5/5 0/5 0/5 0/5 0/5 0/5 5/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 3/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
§basic functions 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 No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No No Yes Yes Yes Yes No No No No No No No No No No
§generator functions 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 No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No No Yes Yes Yes No No No No No No No No No No No
§arrow functions 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 No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No No No Yes Yes Yes No No No No No No No No No No No
§classes 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 No No No No No No No No Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No No Strict Yes Yes Yes No No No No No No No No No No
§subclasses 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 No No No No No No No No Strict Strict Strict Yes Yes Yes No No No No No Yes No No No No No No No Strict No Yes Yes No No No No No No No No No No
§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 13/36 15/36 16/36 17/36 16/36 16/36 16/36 17/36 17/36 20/36 22/36 24/36 24/36 24/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 28/36 0/36 0/36 0/36 0/36 0/36 25/36 0/36 0/36 0/36 0/36 0/36 0/36 0/36 0/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
§ToPrimitive 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No No No No No No No Flag Flag No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§HasBinding No No No No No No 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 No No No Yes Yes Yes No No No No No Yes No No No No No No No No No[18] Yes No No No No No No No No No No No
§CreateDynamicFunction 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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§ClassDefinitionEvaluation No No No No No No No No No Flag Yes Yes No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Object.assign 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 No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Function.prototype.bind 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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§String.raw 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§RegExp constructor 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 No No No No No No No Yes Yes 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
§RegExp.prototype.flags No No No No No No No No No No No Flag No No Yes Yes No No No No No No No Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§RegExp.prototype.test No No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes No No No No No No No No No No No
§RegExp.prototype.toString 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 Yes Yes 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
§RegExp.prototype[Symbol.match] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No 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 No No No No No No No No No No No
§RegExp.prototype[Symbol.replace] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No 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 No No No No No No No No No No No
§RegExp.prototype[Symbol.search] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No 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 No No No No No No No No No No No
§RegExp.prototype[Symbol.split] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No No No No No No No No No Flag Yes 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
§Array.prototype iteration methods 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 No No Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No No No No No No No No No Flag Yes 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
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No 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 No No No No No No No No No No No
§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 No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No No No No No No No No No No No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No
§Date.prototype.toJSON 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 Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 5/11 5/11 5/11 5/11 5/11 5/11 9/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 0/11 0/11 0/11 0/11 0/11 11/11 0/11 0/11 0/11 0/11 0/11 0/11 0/11 0/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
§Object.assign 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Array.from 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Array.prototype.copyWithin No No No No No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Array.prototype.fill No No No No No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Array.prototype.reverse No No No No No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Array.prototype.shift No No No No No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Array.prototype.splice No No No No No No No No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Array.prototype.unshift No No No No No No No No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 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 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 2/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
§[[Set]] 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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 0/6 0/6 0/6 5/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 0/6 0/6 0/6 0/6 0/6 6/6 0/6 0/6 0/6 0/6 0/6 0/6 0/6 0/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
§Array.prototype.copyWithin No No No No No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Array.prototype.pop No No No No No No No No No Yes Yes Yes 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Array.prototype.reverse No No No No No No No No No Yes Yes Yes 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 No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Array.prototype.shift No No No No No No No No No Yes Yes Yes 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 No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Array.prototype.splice No No No No No No No No No Yes Yes Yes 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 No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Array.prototype.unshift No No No No No No No No No Yes Yes Yes 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 No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 2/4 2/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 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 0/4 0/4 0/4 0/4 0/4 4/4 0/4 0/4 0/4 0/4 0/4 0/4 0/4 0/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
§[[Set]] 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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Object.assign 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 No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§Object.prototype.hasOwnProperty 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Function.prototype.bind 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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No No Yes No No No No No No No No No No No
§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 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 0/3 0/3 0/3 0/3 0/3 3/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 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
§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 No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§TestIntegrityLevel 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§SerializeJSONObject No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 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 0/10 0/10 0/10 0/10 10/10 10/10 0/10 0/10 0/10 0/10 0/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
§Object.getPrototypeOf No Yes No No No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Object.getOwnPropertyDescriptor No Yes No No No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Object.getOwnPropertyNames No Yes No No No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Object.seal No Yes No No No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Object.freeze No Yes No No No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Object.preventExtensions No Yes No No No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Object.isSealed No Yes No No No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Object.isFrozen No Yes No No No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Object.isExtensible No Yes No No No Yes[10] Yes 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 Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§Object.keys No Yes No No No Yes[10] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes No Yes Yes No No No No No No No No No 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 2/7 2/7 2/7 3/7 3/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 2/7 2/7 3/7 4/7 5/7 7/7 4/7 0/7 0/7 2/7 3/7 3/7 3/7 3/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
§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 No 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 No No No Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No Yes Yes Yes Yes No No No No No No No No Yes Yes No No No No No No No No 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 No No No Yes Yes Yes Yes Yes No No No No No No No No No No No Yes Yes Yes No No No No Yes Yes No No No No No No No No No Yes Yes No No No No No No No No No 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 No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No No No 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[23] Yes[23] Yes[23] Yes[23] Yes[23] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Reflect.ownKeys, string key order No No[24] No No No No[24] No[24] No No Yes Yes Yes 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 No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§Reflect.ownKeys, symbol key order No Yes No No No Yes[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§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 4/10 4/10 5/10 5/10 7/10 7/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 5/10 5/10 5/10 5/10 7/10 8/10 8/10 2/10 2/10 2/10 2/10 4/10 8/10 3/10 1/10 2/10 2/10 2/10 5/10 5/10 5/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 4/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 No No No No No No No No No No No Yes Yes Yes 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 Yes
§duplicate property names in strict mode 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 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No Yes
§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 No 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 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 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
§accessors aren't constructors No No No No No No No No No Yes Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No Yes Yes Yes No Yes Yes No No No No No No No No No No
§Invalid Date No Yes No No No Yes[10] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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[10] Yes No No Yes Yes Yes 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 Yes Yes Yes No No No No No Yes No No No No No No No No Yes Yes No No No No No No No No No No No
§RegExp.prototype.toString generic and uses "flags" property No Yes No No No Yes[10] No No No No No 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 No No No No No Yes No No No No No No No No ? ? Yes No No No No No No No No No No
§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 No No No No No No No No No No No No No No No No No Yes No No No No No No No No No No
§function 'length' is configurable 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 No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No No No Yes Yes Yes No Yes Yes No No No No No No No No No No
Annex b
§non-strict function semantics[25] 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 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 2/3 2/3 2/3 2/3 2/3 2/3 2/3 2/3 3/3 2/3 2/3 2/3 2/3 2/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
§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 No No No No No No No No No No No Yes Yes Yes No No No No No No No No Yes No No No No No No No Yes No No No No No No No No No No
§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 No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§__proto__ in object literals[26] 0/5 0/5 0/5 0/5 0/5 0/5 0/5 0/5 1/5 3/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 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 1/5 1/5 1/5 2/5 5/5 5/5 1/5 1/5 1/5 1/5 1/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
§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 No 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 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 No No No No Yes Yes No No No No No Yes Yes Yes No Yes Yes No No No No No No No No No Yes
§not a computed property 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 Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes No No No No No Yes Yes Yes No Yes Yes No No No No No No No No Yes Yes
§not a shorthand 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 No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes No Yes Yes No No No No No No No No No Yes
§not a shorthand method No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No Yes Yes No No No No No Yes Yes Yes No Yes Yes No No No No No No No No No 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 5/6 5/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 3/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 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
§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
§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 No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes No No No 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No Yes Yes No No No No Yes Yes Yes Yes Yes Yes
§present in Object.getOwnPropertyNames() No No No No No No No No Yes Yes Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes No Yes Yes No No No No 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 2/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 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
§existence No Yes No No No Yes[10] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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
§tags' names are lowercase No Yes No No No Yes[10] 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 No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§quotes in arguments are escaped No Yes No No No Yes[10] 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 No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§RegExp.prototype.compile 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 No Yes Yes Yes Yes Yes Yes Yes Yes Yes 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 6/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
§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
§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 No No 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 No No 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 No Yes Yes Yes Yes Yes Yes Yes No 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 No Yes Yes Yes Yes Yes Yes Yes No No 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
§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
§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
§HTML-style comments No No No No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 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

[1] Flagged features require an optional transformer setting.

[2] Have to be enabled via harmony option

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

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

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

[6] Requires the properTailCalls compile option.

[7] 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.

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

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

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

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

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

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

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

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

[16] 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).

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

[18] with is not supported in ejs

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

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

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

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

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

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

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

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