FIRST 3 VERSIONS
ECMAScript 3 was released in December 1999. This version of ECMAScript spread far and wide. It was supported by all major browsers at the time and continued to be supported many years later.
ECMASCRIPT 4 VS ECMASCRIPT 3.1
There was a period when both standards coexisted, and two informal committees were set in place. ECMAScript 4, however, was too complex to be finished in the face of discordance. ECMAScript 3.1 was much simpler, and, in spite of the big battle at ECMA, it was completed.
ECMASCRIPT 3.1 OR ECMASCRIPT 5?
ECMAScript 6, later renamed to ECMAScript 2015, brought big changes. Almost every change that required syntactic changes was pushed back to this version. The already united committee finally released ECMAScript 6 in 2015, but this time fortunately without any disagreement. This release was a big jump in the use of transpilers such as Babel or Traceur.
ECMAScript 2016 was released in the next year with a small revision. The revision was the result of a new release process implemented by Technical Committee-39.
The 8th edition, officially known as ECMAScript 2017, was finalized in June 2017. It includes await/async, which works using generators and promises. Some of the new features in ECMAScript 2017 are Object.values, String padding, Async functions, Exponentiation Operator, etc.
ES.Next is a dynamic name that refers to whatever the next version is in the process of writing. The feature set of ECMAScript 2018 was finalized during the latest TC39 meeting (23-25 January 2018). Here are the major features:
Asynchronous Iteration (Gorkem Yakin, Daniel Ehrenberg)
The problem is that the previously explained way of iterating is synchronous, it doesn’t work for asynchronous sources of data. The proposal specifies a new protocol for iteration that works asynchronously.
Rest/Spread Properties (Mathias Bynens)
It enables the rest operator (...) to work in object destructuring and the spread operator (...) in object literals.
WHY IS JS SO POPULAR?
Today, new languages are emerging rapidly to satisfy changing needs of users. These languages are created to build another level of applications that have advanced features and meet demanding needs of businesses.
GENERAL JS MAINSTREAM MILESTONES
Dynamic HTML allows you to dynamically change the content and appearance of a web page. You achieve this by manipulating the Document Object Model (DOM) of the page, a tree-shaped data structure. Things you can do include changing content, changing style, and showing and hiding elements. Dynamic HTML appeared first in Internet Explorer 4 and in Netscape Navigator 4.
The XMLHttpRequest specification defines an API that provides scripted client functionality for transferring data between a client and a server. This API that was introduced in Internet Explorer 5 allows a client-side script send an HTTP or HTTPS request to a server and receive data in different text formats (XML, HTML, JSON).
2005—Ajax, browser-based desktop-class applications
2006—jQuery, helping with DOM manipulation
2007—WebKit, taking the mobile web mainstream
2009—Cordova, writing native apps in HTML5
2012—TypeScript, making JS scalable
2015—React Native, applying React architecture to native apps