JavaScript / ECMAScript Versions...
Tags: javascript, webdev, programming, versions
Published: 2024-03-20 05:55:48


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3yovmup896m3enguxwy1.jpg)

As many of you have seen in the title, this post will discuss the various versions of JavaScript. I'm not focusing on its origins or inventors. Instead, I aim to explain why it was created and the different versions that exist in a straightforward manner.

### From LiveScript to ECMAScript:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/174984cxlsle4j2jgdbt.png)
- JavaScript was initially called **LiveScript**. It was renamed to JavaScript to capitalize on the popularity of Java during those times.
- Originally designed for web browsers, JavaScript has gained widespread popularity and is now used in server-side programming and even game development.
- This language has become essential in developing nearly all types of websites.
- JavaScript is a high-level, interpreted programming language, known for being dynamic, weakly typed, and prototype-based.

#### Transition to ECMAScript:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bvhk0i8ihjgspg3521rc.jpg)
- ECMA stands for the European Computer Manufacturers Association.
- ECMAScript is a scripting-language specification developed by ECMA International. It aims to standardize JavaScript implementation across all web browsers.
- ECMAScript is not a language but a standard. JavaScript and ActionScript are well-known implementations of this standard.
- The ECMA Standard draws on several technologies, the most notable being JavaScript (Netscape) and JScript (Microsoft).

#### Why JavaScript is called ECMAScript:

- The core language of JavaScript is standardized by the ECMA TC39 committee and named ECMAScript. **ECMAScript** and **JavaScript** are often used interchangeably, referring to the standard language used even in non-browser environments like Node.js.

### Differences between ECMAScript and JavaScript:

- A key difference is that ECMAScript is more strictly defined, ensuring code behaves consistently across browsers, unlike JavaScript, which may have browser-specific behaviors.
- ECMAScript includes features not present in JavaScript, such as support for class-based programming.

### Main Features of ES:

ECMAScript significantly enhanced JavaScript with features that bolstered its functionality, usability, and robustness for developers. Here’s a refined overview:

- **Object-Oriented Programming (OOP)**: Facilitates code organization and reuse through support for classes, inheritance, and objects.
- **Event-Driven Programming**: Enables the creation of interactive web applications by allowing the code to respond to user actions, network requests, and other events efficiently.
- **Rich Set of Built-In Objects**: Provides diverse objects for handling dates, regular expressions, and complex mathematical calculations, which aid in accomplishing various programming tasks.
- **Standard Library of Functions**: Offers a broad collection of utility functions for tasks like string manipulation, array operations, making development faster and more efficient.
- **Error Handling**: Improves code reliability and debuggability with structured error handling using `try`, `catch`, and `finally` blocks.

### List of Versions from ES (ECMAScript):

- ES1 - 1997
- ES2 - 1998
- ES3 - 1999
- ES4 - Abandoned (2003)
- ES5 - 2009
- ES6 - 2015
- ES7 - 2016
- ES8 - 2017
- ES9 - 2018
- ES10 - 2019
- ES11 - 2020
- ES12 - 2021
- ES13 - 2022
- ES14 - 2023

### Summary:

In this post, I've primarily covered how JavaScript evolved into an independent language and why it's referred to as ECMAScript. I've outlined what ECMAScript is and listed all its versions. In future posts, we will delve into each version and its significant features. 

All the information i have shared above from different sources including **Wikipedia** and many other sources. I wrote above post according to my understanding. If any information shared above is misleading or any issues please do comment.