ECMAScript 6 - Deep Understanding

ECMAScript (or ES)[1] is a trademarked[2] scripting-language specification standardized by Ecma International in ECMA-262 and ISO/IEC 16262. It was based on JavaScript, which now[when?] tracks ECMAScript. 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. Other implementations of ECMAScript include JScript and ActionScript.

6th Edition - ECMAScript 2015[edit]
The 6th edition, officially known as ECMAScript 2015, was finalized in June 2015.[11][29][9] This update 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).[30][31] The complete list is extensive.[32]

Browser support for ES6 is still incomplete.[33] However, ES6 code can be transpiled into ES5 code, which has more consistent support across browsers. [34] Transpiling adds an extra step to build processes whereas polyfills allow adding extra functionalities by including another javascript file.