JavaScript has a strange naming history. For it initial release in 1995 as part of Netscape Navigator, Netscape labeled their new language LiveScript, before Rena Ming it to JavaScript a year later, hoping to capitalize on Java ' s popularity in the time (JavaScript has no actual relati Onship to Java). In 1996 Netscape submitted JavaScript to ECMA International for standardization. This is eventually resulted in a new language standard, labeled ECMAScript. All major JavaScript implementations since have actually been implementations of the ECMAScript standard, but the term Jav Ascript has stuck for historical and marketing reasons. In the real world ECMAScript are usually used to refer to the standard while JavaScript are used when talking about the Lang Uage in practice.
This has mostly been trivia for JavaScript developers, because ECMAScript didn ' t change much for the ' I Years of Its existence, and real world implementations often differed significantly from the standard. After the initial version of ECMAScript, work on the language continued and two more versions were quickly. But after ECMASCript 3 came out of 1999, there were no changes made to the official for a standard. Instead various browser vendors made their own custom extensions to the language, and Web developers were left to try and Support multiple APIs. Even after ECMAScript 5 is published in 2009, it took several years for wide browser support of the new spec, and most de Velopers continued to write code in ECMAScript 3 style, without necessarily being the aware.
Around things started to change. There is more of a push to stop supporting old Internet Explorer versions, and writing code in ECMAScript 5 (ES5) style B Ecame much more feasible. At the same time work is underway on a new ECMAScript standard, at which point it became much more common to start referr ing to JavaScript implementations in terms of their support for different ECMAScript. The new standard was originally named ES. Harmony, before eventually being referred to as ECMAScript 6th Edition (ES6). In 2015 TC39, the committee responsible for drafting the ECMASCRIPT specifications, made the decision to move to a yearly Model for defining new standards, where new features would is added as they were approved, rather than drafting complete p Lanned out specs that would is finalized when all features were. As a result ECMAScript 6th edition is renamed ECMAScript 2015 (ES2015) before it is published in June.
Currently there are several proposals for new features or syntax to is added to JavaScript. These include decorators, async-await, And static class properties. These are are often refered to as ES7, ES2016, or ES. Next features, but should realistically be called proposals or possibilities, since the ECMAScript 2016 specification hasn ' t been written yet, and might include all or none of those features. TC39 divides proposals into 4 stages. You can have a various proposals On babel ' s website.
So where does is leave us in terms of terminology? The following list might is helpful:ecmascript:a language standardized by ECMA International and overseen by the TC39 Co Mmittee. This term are usually used to refer to the standard itself. Javascript:the commonly used name for implementations of the ECMAScript standard. This term isn ' t tied to a particular version of the ECMAScript standard, and May is used to refer to Implement all or part of the particular ECMASCript edition. ECMAScript 5 (ES5): The 5th edition of ECMAScript, standardized in 2009. This standard has been implemented fairly completely at all modern browsers ECMAScript 6 (ES6)/ECMAScript 2015 (ES2015): The 6th edition of ECMAScript, standardized in 2015. This is standard has been partially implemented in most modern. To the implementation by different browsers and tools, check Out these compatibility tables. ECMAScript 2016:the expected 7th edition of ECMAScript. Thisis scheduled to be released next summer. The details of what the spec would contain have not been finalized yet ECMAScript proposals:proposed-features or syntax th At are being considered for future versions of the ECMAScript standard. These move through a process of five Stages:strawman, Proposal, Draft, candidate and finished.
Going forward in this blog, I'll be referring to the recent ECMAScript version as ES6 (since so is, it's best known By most developers), next years spec as ES2016 (since that'll be what it are called the whole way its through tion process, unlike es6/es2015) and future language ideas that are no yet part of a draft or finalized spec as Ecmascrip T proposals or JavaScript proposals. I ' ll do I ' I ' I ' I ' the ' I ' I ' to ' the ' to ' the ' ' cases ' might be confusing. More ResourcesTC39 has a github repo tracking all of their current open proposals. If you are aren ' t familiar with ES6 yet, Babel has a great rundown of it features If you want to go deeper with ES6 I ' ve hear D great things about 2 books on the subject:exploring ES6 by Axel Rauschmayer and understanding ECMAScript 6by Nicholas Z AKAs. Axel ' s blog 2ality is also a great ES6 resource. Original link: https://benmccormick.org/2015/09/14/ es5-es6-es2016-es-next-whats-going-on-with-javascript-versioning/