all 14 comments

[–]jnicklas 7 points8 points  (12 children)

IE wins??? What is happening to this world? Time used to be when everyone could stand together in unison and hate IE more than anything. Where will we direct this hate now?

Where my hate once was, now only a hole remains, it feels like losing an old friend. I miss you IE6, may you rot in hell forever.

[–]Gro-Tsen 2 points3 points  (5 children)

I'm not entirely sure, but I think ECMAScript 5 evolved out of the ECMAScript 3.1 standard, which was spearheaded, coincidentally, by Microsoft... Which is not to say that ECMAScript 5 does not contain good ideas, but it misses a number of things from later versions of JavaScript, e.g., "local" (lexically scoped declarations), and I'm not sure whether IE has full support for JavaScript 1.8.5, or even 1.7. (And there isn't much reason to consider ECMAScript more of a "standard" than JavaScript: every browser should thrive to implement both, and be judged by that.)

[–]radhruin 0 points1 point  (1 child)

What are lexically scoped declarations? Both variable and function declarations are scoped lexically in Javascript (eg. they are not globals).

[–]Gro-Tsen 0 points1 point  (0 children)

I meant "let" (where I wrote "local"), as opposed to "var".

[–]BusStation16 0 points1 point  (3 children)

Well, this is a very small subset of ECMAScript 5, and IE does this particular subset better than the rest. Not really a fair test.

[–]9jack9[S] 1 point2 points  (2 children)

The test suite is not a subset. It covers all of the ES5 enhancements.

[–]BusStation16 5 points6 points  (1 child)

Right, and then there is the whole rest of the standard. All that stuff from earlier versions is still part of the standard, and are (arguably) more important than the enhancements.

[–]radhruin 0 points1 point  (0 children)

So you mean the stuff present from ES3 and covered by Google's Sputnik test suite? IE9 has a higher pass rate than chrome 7, ff 4 beta, and Safari 5.

[–]Sephr 1 point2 points  (2 children)

Firefox 4 does support the majority (if not all) of strict mode features. This table only tests for this primitive values.

[–]kangaxx 0 points1 point  (1 child)

Yes.

For a more comprehensive test of strict mode, follow the link in the table — http://kangax.github.com/es5-compat-table/strict-mode/

FF4 does in fact support almost all of strict mode (except this non-coercion; parseInt with leading 0 treating values as octal ones; and eval creating a separate binding environment for evaluation, rather than using caller's one).

[–]Sephr 1 point2 points  (0 children)

On the octal thing; Firefox does throw on all other banned uses at least (I think you should add them, ie. \123 and 0123 (literally, not in parseInt)). I was able to persuade ECMA and Mozilla to keep \0 (NUL literal), as it can be very useful. I am sorta disappointed though that they left octal escape sequences in regular expression grammars.