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

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

[2] Flagged features require an optional transformer setting.

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

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

[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] This feature requires native generators or regenerator-runtime, it's a part of babel-polyfill or babel-runtime.

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

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

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

[20] with is not supported in ejs

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

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

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

[24] The feature is enabled by default only in Firefox Nightly due to compatibility issue.

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

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

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

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