JavaScript version vs ECMAScript version [duplicate]

Solution 1:

According to Wikipedia, the JavaScript-specific version numbers were only used by Firefox, and were dropped in Firefox 4.

These days, there's not really such thing as 'the current version of JavaScript' - the ECMAScript standards get created, and the browser vendors implement the features into their JS engines at their own pace. This pace varies wildly - as demonstrated by the very useful Kangax compatibility table.

Solution 2:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript#JavaScript_versions:

Deprecated. The explicit versioning and opt-in of language features was Mozilla-specific and is in process of being removed. Firefox 4 was the last version which referred to an JavaScript version (1.8.5). With new ECMA standards, JavaScript language features are now often mentioned with their initial definition in ECMA-262 Editions such as ECMAScript 2015.

Starting with Firefox 5, changes in JavaScript are listed at https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/Firefox_JavaScript_changelog, but not versioned otherwise.

See the lists at ECMAScript 2015 support in Mozilla and ECMAScript Next support in Mozilla for which features are available in which version of Firefox.

Solution 3:

"JavaScript" is a proprietary brand name for an implementation of a scripting language. It was created by Netscape in the early 1990's and, as with all languages, has had revisions over the years. These revisions are tracked with version numbers. Today, JavaScript is maintained by the Mozilla Organization and they continue to evolve the language and track that evolution via version numbers.

However, many years ago, Netscape wanted "JavaScript" to be recognized as the official scripting language of the web and so they approached the "European Computer Manufacturer's Association" (ECMA) to produce a specification that detailed the "official" language. That language (ECMAScript) has also had revisions over the years and those revisions come with version numbers.

Knowing all this, in casual conversation (and sometimes not so casual), people say "JavaScript" when they actually should be saying "ECMAScript". It's like asking for "Kleenex", when you really just mean tissue.

Today, we don't really worry about JavaScript versions any more. We just worry about runtime environments and what they support. It is uncommon for new features to be implemented as a whole. Usually, implementations start bringing in new features of ECMAScript bit-by-bit.

Solution 4:

Actually they stopped numbering JS version and only using ECMAScript version and ECMAScript year version (like ES6/ECMAScript2015). Now JS is only standardizd by ES. ES6 and ES7 is implemented on ES5 only.