Please note that some of these tests represent existence, not functionality or full conformance.

Feature name Current browser Traceur EJS IE 10 IE 11 FF 11-12 FF 13 FF 16 FF 17 FF 18 FF 23 FF 24 FF 25 FF 27-28 FF 29 FF 30 FF 31 FF 32 FF 33 CH <19 CH 19[1] CH 21-29[1] CH 30[1] CH 33[1] CH 34[1] CH 35[1] CH 37[1] SF 5.1 SF 6 SF 7 WK OP 12 OP 15 KQ 4.9 RH PH Node Node harmony[2]
§proper tail calls (tail call optimisation) No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§arrow functions Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No
§const Yes Yes No Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes No Yes Yes Yes
§let Yes Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§default function params Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No
§rest parameters Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No
§spread call (...) operator Yes Yes No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes No No No No No No No
§spread array (...) operator Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes No No No No No No No
§class Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§computed properties Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No Yes No No No No No No No
§shorthand properties Yes Yes No No No No No No No No No No No No No No No Yes No No No No No No No No No No No No No No No No No No No
§shorthand methods Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§__proto__ in object literals[3] Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§modules Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§For..of loops Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes No No No No No No No
§Array comprehensions Yes No No No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No
§Generator comprehensions Yes No No No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No
§Generators (yield) Yes No No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§Template Strings Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§RegExp "y" flag 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 No No No No No No No No No No No No
§RegExp "u" flag Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Map Yes Yes No Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes
§Set Yes Yes No Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes
§WeakMap No No No Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes
§WeakSet No No No No No No No No No No No No No No No No No No No No No No Yes Yes Yes Yes No No No No No No No No No No Yes
§Proxy No Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No
§Reflect No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.Realm No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Reflect.Loader No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Block-level function declaration Yes No No Yes 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 No No No No Yes
§Destructuring Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes[4] No No No No No No No
§Destructuring parameters Yes Yes No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No Yes No No No No No No No
§Destructuring defaults Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Destructuring rest Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Promise Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes No No No No Yes Yes Yes Yes No No No Yes No No No No No No No
§Object.assign Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Object.is Yes Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes No No No Yes Yes
§Object.getOwnPropertySymbols Yes Yes No No No No No No No No No No No No No No No Yes No No No No No Yes Yes Yes No No No No No No No No No No No
§Object.setPrototypeOf No Yes No Yes No No No No No No No No No No No Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No No No
§Object.prototype.__proto__ No No No Yes No No 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 No Yes No No Yes
§Function.prototype.toMethod No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§String.raw Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§String.fromCodePoint Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No
§String.prototype.codePointAt Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No
§String.prototype.repeat Yes Yes No No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§String.prototype.startsWith Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§String.prototype.endsWith Yes Yes No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§String.prototype.contains Yes Yes No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No No No No No No No No Yes
§String.prototype HTML methods Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Unicode code point escapes Yes Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Symbol No Yes No No No No No No No No No No No No No No No Yes No No No No Yes Yes Yes Yes No No No No No No No No No No Yes
§Global symbol registry No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Symbol.create No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Symbol.hasInstance No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Symbol.isConcatSpreadable No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Symbol.isRegExp No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Symbol.iterator No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Symbol.toPrimitive No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Symbol.toStringTag No Yes No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Symbol.unscopables No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§RegExp.prototype.match No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§RegExp.prototype.replace No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§RegExp.prototype.search No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§RegExp.prototype.split No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§RegExp.prototype.compile Yes No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
§Array.from Yes Yes No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No
§Array.of No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No No No No No No No No No No No No No No
§Array.prototype.copyWithin No No No No No No No No No No No No No No No No Yes Yes No No No No No No No No No No No No No No No No No No No
§Array.prototype.find Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes
§Array.prototype.findIndex Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No Yes No No No No No No Yes
§Array.prototype.fill Yes Yes No No No No No No No No No No No No No Yes Yes Yes No No No No No No No Yes No No No Yes No No No No No No No
§Array.prototype.keys Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No Yes No No No No No No No
§Array.prototype.values Yes Yes No No No No No No[5] No No No No No[6] No No No No No No No No Yes Yes Yes Yes Yes No No No No No No No No No No No
§Array.prototype.entries Yes Yes No No No No No No No No No No No Yes Yes Yes Yes Yes No No No Yes Yes Yes Yes Yes No No No Yes No No No No No No No
§Array.prototype[Symbol.unscopables] No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No No
§Number.isFinite Yes Yes No No 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 No Yes No No No Yes Yes
§Number.isInteger Yes Yes No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No No No
§Number.isSafeInteger Yes Yes No No No No No No No No No No No No No No Yes Yes No No No No No Yes Yes Yes No No No No No No No No No No No
§Number.isNaN Yes Yes No No 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 No Yes No No No Yes Yes
§Number.EPSILON Yes Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No No No
§Number.MIN_SAFE_INTEGER Yes Yes No No No No No No No No No No No No No Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No No No
§Number.MAX_SAFE_INTEGER Yes Yes No No No No No No No No No No No No No Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No No No
§Math.clz32 No Yes No No No No No No No No No No No No No Yes Yes Yes No No No No No No Yes Yes No No No No No No No No No No No
§Math.imul No Yes No No No No No No No Yes Yes Yes Yes Yes Yes Yes Yes Yes No No Yes[7] Yes Yes Yes Yes Yes No No Yes Yes No Yes No No No No Yes
§Math.sign No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No No No No No No No No Yes
§Math.log10 No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No Yes No No No No No No No
§Math.log2 No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No Yes No No No No No No No
§Math.log1p No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes No No No Yes No No No No No No No
§Math.expm1 No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No No Yes Yes No No No Yes No No No No No No No
§Math.cosh No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No Yes No No No No No No No
§Math.sinh No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No Yes No No No No No No No
§Math.tanh No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No Yes No No No No No No No
§Math.acosh No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No Yes No No No No No No No
§Math.asinh No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No Yes No No No No No No No
§Math.atanh No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No Yes No No No No No No No
§Math.hypot No Yes No No No No No No No No No No Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No Yes No No No No No No No
§Math.trunc No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No Yes No No No No No No Yes
§Math.fround No Yes No No No No No No No No No No Yes[8] Yes Yes Yes Yes Yes No No No No No No Yes Yes No No No Yes No No No No No No No
§Math.cbrt No Yes No No No No No No No No No Yes Yes Yes Yes Yes Yes Yes No No No No No Yes Yes Yes No No No Yes No No No No No No No

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

[2] Have to be enabled via --harmony flag

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

[4] As of WebKit r170830, WebKit fails to support multiple destructurings in a single var or let statement - for example, var [a,b] = [5,6], {c,d} = {c:7,d:8};

[5] Available from Firefox 17 up to 27 as the non-standard Array.prototype.iterator

[6] Available since Firefox 27 as the non-standard Array.prototype["@@iterator"]

[7] Available since Chrome 28

[8] Available since Firefox 26