vuyisile.github.io

View on GitHub
7 August 2017

Ecmascript6

by {"name"=>"Vuyisile Weni"}

The JavaScript timeline (focus on standardization)

-ECMAScript - is a standardized specification of a scripting language.

-it was initially called Moncha, later LiveScript and finally JavaScript.

-the first edition was published in june 1997,

-the second edition which had Editorial changes to keep the specification fully aligned with ISO/IEC 16262 international standard ,was published in june 1998,

-the third edition had been added regular expressions, better string handling, new control statements, try/catch exception handling, tighter definition of errors, formatting for numeric output and other enhancements,

-the fourth edition that would have been the first major update of the third ECMAScript in december 1999 but it was abandoned due to political differences concerning language complexity . In August 2008 the proposal for the fourth edition had been scaled back into a project codenamed ECMAScript Harmony which contained features such as: -classes -module system -algebric data types -generators and iterators..and more the intent of these features was to better support programming in large, and improve the performance dynamically.

-the fifth edition of december 2009, was desigened to focus on security and library updates with a large emphasis on compatibility.

-the sixth edition of 2015, which adds significant new syntax for writing complex applications. 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). As the first “ECMAScript Harmony” specification, it is also known as “ES6 Harmony.”

-the seventh edition of 2016, intended to continue the themes of language reform, code isolation, control of effects and library/tool enabling from ES2015, includes two new features: the exponentiation operator (**) and Array.prototype.includes.

tags: