Steps Toward Creating Compatible ECMAScript 5 Implementations

As we’ve discussed in the past, Microsoft has been actively involved in the developing the specification for the next revision of the JavaScript standard, ECMAScript Fifth Edition. We expect that after ECMAScript 5’s completion and formal adoption later this year that it will be relatively quickly adopted by browser implementers as part of their ongoing release cycles.

When a new browser standard like this is introduced, it is important that all implementers work hard to make sure that they correctly implement the standard and are compatible with each other. Language specifications are complex technical documents and even well written specification can be misinterpreted by implementers leading to incompatibles and interoperability issues.

One way to avoid this is for implementers to use a common specification compliance test suite. At the ECMA TC39 meeting this May, Microsoft announced that it was working on such test suite and made a preliminary version available to the ECMA members. We have now turned development of this test suite into a community development project hosted on Codeplex. This project is released as using the new BSD open source license and will be coordinated by TC39 members including Microsoft. Currently the test suite includes about 900 tests that mostly focus features that are new to ECMAScript 5. This is a small fraction of the tests that will be needed to provide complete conformance coverage for the entire language. Microsoft plans on continuing to contribute additional tests to the suite and we are working with other ECMA TC39 members to coordinate with any test suite development they may be doing.

Anyone who has the interest and skills for developing individual ECMAScript conformance tests are invited to participate in the project. If you’re interested check out the Codeplex site and get involved.

Allen Wirfs-Brock

Microsoft TC-39 Representative

Comments

  • Anonymous
    June 29, 2009
    The comment has been removed

  • Anonymous
    July 01, 2009
    John (from the comment above), Most of what you point out has nothing to do with JScript or the ECMAScript language itself, so I don't think it's really appropriate here. As far as web developer/designer and the server v. client distinction, it seems very silly if you've ever developed any substantial client-side code. Anyway, Allen and the JScript team, excellent work on starting this testing effort. It's very important and it's great to see Microsoft is making a solid effort in adopting ES5.

  • Anonymous
    July 01, 2009
    John (from the comment above), Most of what you point out has nothing to do with JScript or the ECMAScript language itself, so I don't think it's really appropriate here. As far as web developer/designer and the server v. client distinction, it seems very silly if you've ever developed any substantial client-side code. Anyway, Allen and the JScript team, excellent work on starting this testing effort. It's very important and it's great to see Microsoft is making a solid effort in adopting ES5.

  • Anonymous
    July 01, 2009
    The comment has been removed

  • Anonymous
    July 01, 2009
    The comment has been removed

  • Anonymous
    July 03, 2009
    The comment has been removed

  • Anonymous
    July 07, 2009
    @JScript Team (Allen & others) : 1] Could we expect a fully compilant IE8.5/IE9 (regarding the ES3.1/ES5 spec) ? 2] Does that mean that you're working on a "new" JScript interpereter/compiler/virtual machine ? 3] Will JScript.NET be updated too ? For DotNet 4 or will this take more time ? 4] Could I (and other benevol developpers) get a preview of the new JScript engine (when it will be available) before the release of IE9 Beta to test it and point out problems or things you (could) make faster ? (Ok, I presume No by default, but who doesn't try have no change to get what he hopes)

  • Anonymous
    July 07, 2009
    @FremyCompany: We haven't finalized plans for the next version of our JavaScript engine, but have a strong interest in seeing it support ES5 and on getting some kind of preview into the hands of interested developers. As we know more, we'll keep folks updated through this blog. As for Jscript.NET, we're still talking about what we want to do with it.

  • Anonymous
    July 07, 2009
    Ok, I'll stay tuned. Even if many work have been done with JScript for IE8, many work is still to be done (IE8 is the less ES5-compilant browser regarding to your set of ES5-tests about new major changes from ES3; IE8 is the slowest browser on JScript performance tests (SunSpeeder & others), ...) You've got a great challenge and a lot of things to explore : hard but funny work [;)]

  • Anonymous
    July 19, 2009
    The test suite is only useful to test the browser’s compliance or can the end user’s application javascripts could also be tested through these tests? It will be great to have a TestSuite or tool, that can parse through all the javascript code used by end user applications and be able to find some potential issues (if any) when we migrate towards ECMAScript5.

  • Anonymous
    July 26, 2009
    Theorically, it should not change anything to normal JScript use. They have added new features and clarified some border-edge cases, but you don't need to modify your scripts to make them ES5-compilant.

  • Anonymous
    October 14, 2009
    A testsuite makes realy sense! Good work... but.... please apply professional javascript coding practices (don't pollute the global namespace, use something like jsDoc, ...)!

  • Anonymous
    April 25, 2010
    Ok, I'll stay tuned. Even if many work have been done with JScript for IE8, many work is still to be done (IE8 is the less ES5-compilant browser regarding to your set of ES5-tests about new major changes from ES3; IE8 is the slowest browser on JScript performance tests (SunSpeeder & others), ...) You've got a great challenge and a lot of things to explore : hard but funny work [;)]

  • Anonymous
    August 24, 2010
    According to the IEBlog, ES5 will be heavily integrated into IE9. And it looks like it will not be available outside the browser as a generic scripting engine (called now JScript). Can someone confirm this?

  • Anonymous
    September 06, 2010
    @John A. Bilicki III: The IE9 WILL NOT be available for an OS that's older than 10 years. Plus: even if Microsoft would do this they had to port the whole graphics engine to XP. Meaning to run IE9, you have to have DirectX11 installed. An uprade would be the size of at least another SP, maybe 1-2GB and any OEM vendor had to check their drivers again (espeacially for laptops). I don't know why some people just say 'this and that has to be done' but don't know anything about the whole thing.

  • Anonymous
    September 06, 2010
    @John A. Bilicki III: The IE9 WILL NOT be available for an OS that's older than 10 years. Plus: even if Microsoft would do this they had to port the whole graphics engine to XP. Meaning to run IE9, you have to have DirectX11 installed. An uprade would be the size of at least another SP, maybe 1-2GB and any OEM vendor had to check their drivers again (espeacially for laptops). I don't know why some people just say 'this and that has to be done' but don't know anything about the whole thing.

  • Anonymous
    September 01, 2011
    sad that nobody writes anything in this blog anymore :(( because Chakra is quite fascinating engine, yet most people never even heard about it ...

  • Anonymous
    December 26, 2011
    Thanks for sharing this information; it will really help a lot. I have to check on this and learn a lot more… Thanks for sharing this one! <a  href="http://www.cybersitesearch.com">Web Site Search</a>.

  • Anonymous
    March 01, 2013
    a difficult issue...Thanks http://www.galaxypaint.net

  • Anonymous
    August 17, 2015
    Why try{ alert( (0,Date.call)() ) } catch(e) {for(k in e)alert ( e[k] ) } alerts nothing?