JavaScript Standard ECMAScript Fifth Edition (ES5) Published

Well it appears ES4 path is dead officially and a new standard has been published replacing it, the ECMAScript Fifth Edition announced in Geneva, Switzerland and will be in place as fully tested and approved by all involved by the end of 2009. ES5 was previously known as ECMAScript 3.1 or an iteration of the ES3 standard that is what most JavaScript is based on in all browsers, and was previously competing with the ES4 newer standard that changed Javascript quite a bit but in many areas much better, in some areas it was bloated.

This revision of ECMA-262 will be known as ECMAScript, Fifth Edition. It was previously developed under the working name ECMAScript 3.1, which will no longer be used. ECMAScript is the scripting language that is used to create web pages with dynamic behavior. ECMAScript, which is more commonly known by the name JavaScript™, is an essential component of every web browser and the ECMAScript standard is one of the core standards that enable the existence of interoperable web applications on the World Wide Web.

ECMAScript Fifth Edition (ES5) was strongly guided by Crockford and Microsoft, which is different than the push for ES4 which is what ActionScript 3 is based on and was supported by Adobe and Mozilla.

However it seems everyone is happy and everyone is supporting this version to get things moving if you go by the ECMA Org quotes:

Industry Reaction

Brendan Eich, Mozilla CTO and creator of the JavaScript language, said “The Fifth Edition of ECMAScript makes real improvements based on browser innovation and collaboration in Ecma, which provides a solid foundation for further work in future editions.” Microsoft’s ECMAScript architect, Allen Wirfs-Brock, commented “We expect the Fifth Edition to benefit all web developers by helping improve browser interoperability and making enhanced scripting features broadly available.”


I still have to read further into the ECMAScript 5 specification which was published, but there are some new interesting things.

One nice feature is the JSON object.  Right now you have to eval to use JSON in javascript in a browser but they now have JSON.parse(object) and JSON.stringify(object) which is standard and conveniently already wired into IE8 this way. This is based on the JSON2.js library by Douglas Crockford of Yahoo.

var jsObjString = "{\"memberNull\" : null, \"memberNum\" : 3, \"memberStr\" : \"StringJSON\", \"memberBool\" : true , \"memberObj\" : { \"mnum\" : 1, \"mbool\" : false}, \"memberX\" : {}, \"memberArray\" : [33, \"StringTst\",null,{}]";
var jsObjStringParsed = JSON.parse(jsObjString);
var jsObjStringBack = JSON.stringify(jsObjStringParsed);

Another feature is DOM prototypes which are useful and cool, which allow you to extend dom objects.

If you use javascript or are an actionscripter, not sure if Adobe will have ActionScript 4 go this way or if Alchemy has changed the flash player into a multi language VM now.  It will be fun to watch things progress but also if you are into javascript it seems this standard, ES5, will be it by the end of the year.  And probably since IE8 already supports it, in all new browser by then as well.  It will probably take 1-2 years before browser saturation makes this usable but if you are using standards that mimic this then there will be no change then, such as the JSON2.js library.

Tags: , , , , , , ,

  • Iain

    ActionScript only has to meet one standard – what we developers want! Screw JavaScript! We just want a cool language that does the things c# and java can do. We don’t need it overnight, but a roadmap would be nice. Enums are pretty central to most languages for example….

  • ryan

    Hey Iain,

    Yeh I think that now that ES4 is dead actionscript can evolve either to the new spec or become it’s own thing. Or, maybe with Alchemy there are now other languages you can use. We’ll see how it progresses but it woudl be nice to know where Actionscript goes from here.

  • Iain

    I’m not sure Adobe has the resources to support multiple languages on the AVM. They haven’t managed to create a AS2 compliler for AVM2, which the designer community seem to need. The documentation alone would be a massive undertaking (see MSDN / .NET help). I don’t mind ActionScript being the only way to create Flash code – single-language is the way JavaFX has gone – and silverlight?

  • Ryan

    Well with silverlight there is C#, IronPython, IronRuby because it runs on the DLR virtual machine. With Unity 3d there is mono languages C#, Boo (Python), and Javascript because it runs on the mono open source .net vm/framework (they compile down to bytecode so no bulk is really added no matter the language). Flash player AVM2 currently can only run Actionscript 3, actionscript 2 still runs at the slower retrofitted avm1. So really they need to lose AS2, but more languages would be nice. Or an infrastructure like with Alchemy would be nice to have really innovative uses always. With Actionscript now only being usable with Flash it makes it hard to draw in new developers this way unless it goes to the ES5 spec now or allows other languages which it is kind of doing now with Alchemy in a way but it still compiles to AS3.

  • Vonpoker

    Thanks for the tip. I’ll check it out, keep the great work up.

  • john do

    Found your site by accident. Great work my friend

  • Черноморец

    Извините, как можно добавить свой материал на сайт?

  • Pingback: Elliot The Flex Maniac » JavaScript Standard ECMAScript Fifth Edition (ES5) Published

  • spy bugs

    Thanks a lot, wonderful post.

  • henry k

    I keep listening to the news speak about getting free online grant applications so I have been looking around for the best site to get one.

  • Number of the beast

    Try some torture games pretty good site

  • John R.

    I’ve been looking for this very subject for awhile now – no one has content just like this. Really glad I found this site. Are you willing to be a guest blogger on my site? I’ll email you with some details if you want.

  • game playa

    Awesome games site, good work