Quick Note: I'm not 100% sure if this is real because there aren't any threads about this in the JavaScript forum or this forum and none of the SitePoint Blogmasters have posted about it either. I'm just going off the official Website. I hope it is real and I've not misunderstood it.

That's right folks, you read the title correctly! The first official update to the ECMAScript standard in over 10 years has been standardized. ECMAScript 5th Edition has been officially released as a standard. ECMAScript 5th Edition is the standards version of JavaScript 2.0, something I've been waiting on for too long!

The Ecma General Assembly held on December 3, 2009 in Mountain View, CA, USA has approved the new Edition of the ECMAScript language standard. After interoperability and web compatibility testing the final draft standard was submitted on October 4, 2009 to the Ecma General Assembly for ratification as an Ecma Standard. Now after successful approval the 5th Edition of ECMAScript has been forwarded to ISO/IEC JTC 1 for fast-track approval.

The official Web page from ECMA International can be read at [Standard ECMA-262 where you can download the PDF of the [URL="http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf"]Standard ECMA-262 5th Edition, ECMAScript Language Specification which was published on [URL="http://www.ecma-international.org/news/index.html"]3rd December, 2009](http://www.ecma-international.org/publications/standards/Ecma-262.htm).

I'm looking forward to the Mozilla JavaScript documentation pages to be updated and a new flux of Web pages to be updated with new information on JavaScript / ECMAScript. No doubt there'll be new books on JavaScript 2.0 / ECMAScript 5th Edition or new editions of books. Furthermore I can't wait for the Web browsers to implement new JavaScript rendering engines or update them to reflect the changes in the ECMAScript 5th Edition language specification :).

Comments :p?

Andrew Cooper

P.S If this really is for real then wow, I get to bring the great news of this update! Hehe

I have seen a few articles on this over the last couple of months. It was a compromise between the ECMAScript 3.1 standard that Microsoft wanted and the ECMAScript 4 standard that the other parties wanted - that's why the jump from 3 to 5 in the numbering since both 3.1 and 4 refer to versions that are still in draft. Version 5 includes the changes from both 3.1 and 4 that they were able to agree on.

So, does this mean that ECMAScript-262 5th Edition is the standards equivalent of JavaScript 2.0?

No it isn't - JavaScript 2.0 is based on ECMAScript 4 and much of ECMAScript 4 isn't a part of ECMAScript 5.

ECMAScript 5 only contains those parts of ECMAScript 4 that overlapped sufficiently closely to the ECMAScript 3.1 proposals that those wanting each of those two proposals to be the next standard could agree to its inclusion. Much of the ECMAScript 3.1 and ECMAScript 4 proposals are missing from the ECMAScript 5 because there still isn't an agreement as to which of the two paths the future development should follow.

Of course they could always givethe browser based version of JavaScript based on ECMAScript 5 the name JavaScript 2.0 but then it would be different from all the versions of JavaScript 2.0 that have been implemented as server side languages in the last few years.

So is ECMAScript-262 5th Edition equivalent to JavaScript 1.8.1 then? Or another version number?

Also, when ECMAScript Harmony is released, will that be JavaScript 2.0 or will it be something else?

Thanks felgall,

Andrew Cooper

Drom what I can see JavaScript 1.8.1 implemented some of ECMAScript 5 (but then so did JavaScript 1.6). I don't think any version of JavaScript has implemented all of ECMAScript 5 yet.

Since JavaScript 2.0 has been around for some time and is based on ECMAScript 4 the only way something else could end up being called JavaScript 2.0 is if they decide to use the same name for two totally different things.

JavaScript 2.0 is actually a full object oriented language with the ability to define classes whereas JavaScript 1.x is a prototyping language.