Skip to content

Commit 158dfd3

Browse files
committed
notes about 'JavaScript Standard' or Web ECMAScript
1 parent c799c90 commit 158dfd3

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

chapters/ch01.asciidoc

+5-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ The first edition of ECMA-262 was released June, 1997. A year later, in June 199
2121

2222
By December 1999 the third edition was published, standardizing regular expressions, the +switch+ statement, +do+/+while+, +try+/+catch+ and +Object#hasOwnProperty+, among a few other changes. Most of these features were already available in the wild through Netscape's JavaScript runtime, SpiderMonkey.
2323

24-
Drafts for an ES4 specification were soon afterwards published by TC39. This early work on ES4 led to JScript​.NET in mid-2000footnote:[You can read the original announcement here: https://mjavascript.com/out/jscript-net (July, 2000).] and, eventually, to ActionScript 3 for Flash in 2006footnote:[Listen to Brendan Eich in the JavaScript Jabber podcast, talking about the origin of JavaScript: https://mjavascript.com/out/brendan-devchat.].
24+
Drafts for an ES4 specification were soon afterwards published by TC39. This early work on ES4 led to JScript​.NET in mid 2000footnote:[You can read the original announcement here: https://mjavascript.com/out/jscript-net (July, 2000).] and, eventually, to ActionScript 3 for Flash in 2006footnote:[Listen to Brendan Eich in the JavaScript Jabber podcast, talking about the origin of JavaScript: https://mjavascript.com/out/brendan-devchat.].
2525

2626
Conflicting opinions on how JavaScript was to move forward brought work on the specification to a standstill. This was a delicate time for web standards: Microsoft had all but monopolized the web and they had little interest in standards development.
2727

@@ -31,12 +31,14 @@ It took two years until Brendan, now at Mozilla, had ECMA resurrect work on TC39
3131

3232
By 2007 the commitee was split in two: ES3.1, which hailed a more incremental approach to ES3; and ES4, which was overdesigned and underspecified. It wouldn't be until August 2008footnote:[Brendan Eich sent an email to the es-discuss mailing list in 2008 where he summarized the situation, almost ten years after ES3 had been released: https://mjavascript.com/out/harmony.] when ES3.1 was agreed upon as the way forward, but later rebranded as ES5. Although ES4 would be abandoned, many of its features eventually made its way into ES6 (which was dubbed Harmony at the time of this resolution), while some of them still remain under consideration. The ES3.1 update served as the foundation on top of which the ES4 specification could be laid upon in bits and pieces.
3333

34-
In December 2009, on the ten-year anniversary since the publication of ES3, the fifth edition of ECMAScript was published. This edition codified de facto extensions to the language specification that had become common among browser implementations, adding get and set accessors, reflection and introspection, functional improvements to the +Array+ prototype, native support for JSON parsing, and strict mode.
34+
In December 2009, on the ten-year anniversary since the publication of ES3, the fifth edition of ECMAScript was published. This edition codified de facto extensions to the language specification that had become common among browser implementations, adding get and set accessors, functional improvements to the +Array+ prototype, reflection and introspection, as well as native support for JSON parsing, and strict mode.
3535

3636
A couple of years later, in June 2011, the specification was once again reviewed and edited to become the third edition of the international standard ISO/IEC 16262:2011, and formalized under ECMAScript 5.1.
3737

3838
It took TC39 another four years to formalize ECMAScript 6, in June 2015. Starting with ES6, revisions are also known by their release year: ES6 is also known as ES2015, ES7 is also referred to as ES2016, and so on. The sixth edition is the largest update to the language that made its way into publication, implementing many of the ES4 proposals that were deferred as part of the Harmony resolution. Throughout this book, we'll be exploring ES6 in depth.
3939

40+
In parallel with the ES6 effort, in 2012 the WHATWG (a standards body interested in pushing the web forward) set out to document the differences between ES5.1 and browser implementations, in terms of compatibility and interoperability requirements. The taskforce standardized +String#substr+, which was previously unspecified; unified several methods for wrapping strings in HTML tags, which were inconsistent across browsers; and documented +Object.prototype+ properties like +__proto__+ and +__defineGetter__+, among other improvementsfootnote:[For the full set of changes made when merging the Web ECMAScript specification upstream, see: http://mjavascript.com/out/javascript.]. This effort was condensed into a Web ECMAScript specification, which eventually made its way into Annex B in 2015. Annex B was also updated to be normative and required for web browsers, whereas it used to be merely informative before.
41+
4042
The sixth edition is a significant milestone in the history of JavaScript. Besides the dozens of new features, ES6 marks a key inflection point where ECMAScript would become a rolling standard.
4143

4244
=== 1.2 ECMAScript as a Rolling Standard
@@ -61,7 +63,7 @@ In order for a proposal to attain stage 4 status, two independent implementation
6163

6264
Starting with ES6, new releases of the specification are expected to be published every year from now on. To accommodate the yearly release schedule, versions will now be referred to by their publication year. Thus ES6 becomes ES2015, ES7 is ES2016, and so on. Colloquially, ES2015 hasn't taken and is still largely regarded as ES6. ES7 had been announced before the naming convention changed, thus it is only sometimes referred to as ES2016.
6365

64-
It may be expected that, going forward, ES2017 and beyond aren't referenced by the old naming convention anymore. The streamlined proposal process combined with the yearly cut into standardization translates into a more consistent publication process, and it also means specification revision numbers are becoming less important. The focus is now on proposal stagesfootnote:[For a full list of currently active proposals in the multi-staged TC39 process, see https://mjavascript.com/out/tc39-proposals.], and we can expect references to specific revisions of the ECMAScript standard to become more uncommon.
66+
It may be expected that, going forward, ES2017 and beyond won't be referenced by the old naming convention anymore. The streamlined proposal process combined with the yearly cut into standardization translates into a more consistent publication process, and it also means specification revision numbers are becoming less important. The focus is now on proposal stagesfootnote:[For a full list of currently active proposals in the multi-staged TC39 process, see https://mjavascript.com/out/tc39-proposals.], and we can expect references to specific revisions of the ECMAScript standard to become more uncommon.
6567

6668
=== 1.3 Browser Support and Complementary Tooling
6769

0 commit comments

Comments
 (0)