ECMAScript is a trademarked scripting language specification that is defined by ECMA International. It was created to standardize JavaScript. The ES scripting language has many implementations, and the popular one is JavaScript. Generally, ECMAScript is used for client-side scripting of the World Wide Web.
ECMAScript 2009(ES5), was the first major revision to JavaScript.
ECMAScript 2015(ES6), was the second major revision to JavaScript.
This repository introduces the most important features of ES5 and ES6.
| Based on | ES5 | ES6 |
|---|---|---|
| Definition | ES5 is the fifth edition of the ECMAScript (a trademarked scripting language specification defined by ECMA International) | ES6 is the sixth edition of the ECMAScript (a trademarked scripting language specification defined by ECMA International). |
| Release | It was introduced in 2009. | It was introduced in 2015. |
| Data-types | It supports primitive data types that are string, number, boolean, null, and undefined. | In ES6, there are some additions to JavaScript data types. It introduced a new primitive data type ‘symbol’ for supporting unique values. |
| Defining Variables | There are only one way to define the variables by using the var keyword. | There are two new ways to define variables that are let and const. |
| Performance | As ES5 is prior to ES6, there is a non-presence of some features, so it has a lower performance than ES6. | Because of new features and the shorthand storage implementation ES6 has a higher performance than ES5. |
| Support | A wide range of communities supports it. | It also has a lot of community support, but it is lesser than ES5. |
| Object Manipulation | ES5 is time-consuming than ES6. | Due to destructuring and speed operators, object manipulation can be processed more smoothly in ES6. |
| Arrow Functions | In ES5, both function and return keywords are used to define a function. | An arrow function is a new feature introduced in ES6 by which we don't require the function keyword to define the function. |
| Loops | In ES5, there is a use of for loop to iterate over elements. | ES6 introduced the concept of for...of loop to perform an iteration over the values of the iterable objects. |



