Empty input
Last updated 2017-08-12

EcmaScript

Created to standardize JavaScript, ECMAScript (or ES) is a trademarked scripting-language specification standardized by Ecma International in ECMA-262.

ECMAScript (or ES) is a trademarked scripting-language specification standardized by Ecma International in ECMA-262 and ISO/IEC 16262. It was created to standardize JavaScript, so as to foster multiple independent implementations. JavaScript has remained the best-known implementation of ECMAScript since the standard was first published, with other well-known implementations including JScript and ActionScript.Coders commonly use ECMAScript for client-side scripting on the World Wide Web, and it is increasingly being used for writing server applications and services using Node.js.

History

The ECMAScript specification is a standardized specification of a scripting language developed by Brendan Eich of Netscape; initially it was named Mocha, later LiveScript, and finally JavaScript. In December 1995, Sun Microsystems and Netscape announced JavaScript in a press release. In March 1996, Netscape Navigator 2.0 was released, featuring support for JavaScript.

Owing to the widespread success of JavaScript as a client-side scripting language for Web pages, Microsoft developed a compatible dialect of the language, naming it JScript to avoid trademark issues. JScript added new date methods to alleviate the Year 2000 problem caused by the JavaScript methods that were based on the Java Date class. JScript was included in Internet Explorer 3.0, released in August 1996.

Netscape delivered JavaScript to Ecma International for standardization and the work on the specification, ECMA-262, began in November 1996.The first edition of ECMA-262 was adopted by the Ecma General Assembly in June 1997. Several editions of the language standard have been published since then. The name "ECMAScript" was a compromise between the organizations involved in standardizing the language, especially Netscape and Microsoft, whose disputes dominated the early standards sessions. Eich commented that "ECMAScript was always an unwanted trade name that sounds like a skin disease."

While both JavaScript and JScript aim to be compatible with ECMAScript, they also provide additional features not described in the ECMA specifications.

Versions

There are seven editions of ECMA-262 published. Work on version 7 of the standard, was finalized in June 2016.

Edition Date published Changes from prior edition Editor
1 June 1997 First edition Guy L. Steele Jr.
2 June 1998 Editorial changes to keep the specification fully aligned with ISO/IEC 16262 international standard Mike Cowlishaw
3 December 1999 Added regular expressions, better string handling, new control statements, try/catch exception handling, tighter definition of errors, formatting for numeric output and other enhancements Mike Cowlishaw
4 Abandoned Fourth Edition was abandoned, due to political differences concerning language complexity. Many features proposed for the Fourth Edition have been completely dropped; some are proposed for ECMAScript Harmony.  
5 December 2009 Adds "strict mode," a subset intended to provide more thorough error checking and avoid error-prone constructs. Clarifies many ambiguities in the 3rd edition specification, and accommodates behaviour of real-world implementations that differed consistently from that specification. Adds some new features, such as getters and setters, library support for JSON, and more complete reflection on object properties. Pratap Lakshman, Allen Wirfs-Brock
5.1 June 2011 This edition 5.1 of the ECMAScript Standard is fully aligned with third edition of the international standard ISO/IEC 16262:2011. Pratap Lakshman, Allen Wirfs-Brock
6 June 2015 The Sixth Edition, initially known as ECMAScript 6 (ES6) and later renamed to ECMAScript 2015 (ES2015) adds significant new syntax for writing complex applications, including classes and modules, but defines them semantically in the same terms as ECMAScript 5 strict mode. Other new features include iterators and for/of loops, Python-style generators and generator expressions, arrow functions, binary data, typed arrays, collections (maps, sets and weak maps), promises, number and math enhancements, reflection, and proxies (metaprogramming for virtual objects and wrappers). As the first "ECMAScript Harmony" specification, it is also known as "ES6 Harmony." Allen Wirfs-Brock
7 June 2016 The Seventh Edition, also known as ECMAScript 2016,intended to continue the themes of language reform, code isolation, control of effects and library/tool enabling from ES2015, includes two new features: the exponentiation operator (**) and Array.prototype.includes. Brian Terlson
8 June 2017 New features proposed include concurrency and atomics, zero-copy binary data transfer, more number and math enhancements, syntactic integration with promises (await/async), observable streams, SIMD types, better metaprogramming with classes, class and instance properties, operator overloading, value types (first-class primitive-like objects), records and tuples, and traits.  

Learn more on https://en.wikipedia.org/wiki/ECMAScript