What is ES6 JavaScript?
Answer:
“ES6 is the major update over the EC-262 specification released by the TC39 released in 2015”
wait, what is the ECMA script? what is tc-39? what is Ec-262?🤯
Let me shortly elaborate this with the story of javascript
In 1995, Brenden Eich from Netscape(Early web browser), Developed a scripting language called Mocha, it is later updated in Netscape 2 and renamed LiveScript.
After the language was completed in 1996, the marketing team of Netscape requested Sun microsystem to allow them to name it JavaScript as a marketing stunt and hence why most people who have never used JavaScript think it’s related to Java.
Hence, Our beloved Javascript born 🥳
In the same year, Microsoft’s IE took the language and started making its own implementations such as JScript. At the same time, IE was dominating the market, and not long after Netscape had to shut its project.
Netscape decided to start a standard that would guide the path of JavaScript, It was then submitted to ECMA International ( European Computer Manufacturer’s Association) in 1997 for standardization.
For Every standard within the ECMA international, there will be a Technical Committee(TC) formed to validate and upgrade the standards
ECMA-262 — ECMAScript language specifications, maintained by TC39
Not only JavaScript.
ECMA-408 — Dart specifications, maintained by TC52
ECMA-330 — DVD rewritable disk standards, maintained by TC31
ES6 is the 2015 version of the ECMAScript specification
Wait a minute… What is this ECMAScript?🤔 Where is the JavaScript ?😕
There were trademark issues with the name “Javascript” so, ECMAScript is trademark reserved by ECMA international to act as a specification name for the JavaScript.
After sun microsystem was acquired by Oracle in 2009. Now Oracle has the JavaScript trademark, It is even worse😅
Successfully, The ES1 (ECMAScript 1) was released in 1997🎉
ES 2 (1998) — Editorial changes
ES 3 (1999) — Added Regular expressions, Switch statements, Try/catch
ES 4 (1999 to 2008) — Never released.! 😞
Yeah, you heard it right. Those were the harder days of javascript. As soon as work on ECMAScript 4 started, strong differences in the committee started to appear. There was a group of people that thought JavaScript needed features to become a stronger language for large-scale application development. This group proposed many features that were big in scope and in changes. Others thought this was not the appropriate course for JavaScript.
After the long struggle of ECMAScript 4, from 2008 onwards, the community focused on ECMAScript 3.1. ECMAScript 4 was scrapped. In the year 2009, ECMAScript 3.1 was completed and signed off by all involved parties. ECMAScript 4 was already recognized as a specific variant of ECMAScript even without any proper release, so the committee decided to rename ECMAScript 3.1 to ECMAScript 5 to avoid confusion. (Full story behind ES4)
In 2009, ES5 finally got out with some basic addition.
Strict mode, JSON support are part of ES5
🎊Finally🎊, ES6 which is also considered as a second major revision released in 2016 with a great many features that are being pending for a decade. Here are some of the important additions
- The let keyword
- The const keyword
- Arrow Functions
- For/of
- Map Objects
- Set Objects
- Classes
- Promises
Later TC39( Technical committee) decided to release an upgraded specification every year instead of pushing it in a large size like ES6. Also, they renamed ES6 as ES2015 and successive will be called as per the year so, there is no ES7, ES8 …. instead they will be called ES2016, ES2017, ES2018….
I believe, Now you can understand and confidently answer this question as
ES6 is the major update over the EC-262 specification released by the TC39 released in 2015
Like this way, we will try to find answers for many javascript Interview questions in this series. Subscribe to get notified when the next article is released in this series.
Clap👏👏👏 to appreciate the article and please feel free to drop your comments💬 on it
JavaScript Q&A series
- What is Javascript ES6?
- What is Javascript Promise?