Yogesh Chauhan's Blog

What is ECMAScript?

in JavaScript on February 28, 2020

ECMAScript = ES

ECMA stands for European Computer Manufacturer’s Association

It is best known as the language embedded in web browsers but it has also been widely adopted for server and embedded applications. ECMAScript is based on several originating technologies. For example JavaScript from Netscape and JScript from Microsoft. The language was invented by Brendan Eich at Netscape and first appeared in that company's Navigator 2.0 browser. It has appeared in all subsequent browsers from Netscape and in all browsers from Microsoft starting with Internet Explorer 3.0.

ES2016 included support for a new exponentiation operator and adds a new method to Array.prototype called includes. CMAScript 2017 introduced Async Functions, Shared Memory, and Atomics along with smaller language and library enhancements, bug fixes, and editorial updates. Async functions improve the asynchronous programming experience by providing syntax for promise-returning functions.

ECMAScript 2018 introduced support for asynchronous iteration via the AsyncIterator protocol and async generators. It also included four new regular expression features: the dotAll flag, named capture groups, Unicode property escapes, and look-behind assertions. Lastly it included rest parameter and spread operator support for object properties.

The 10th edition introduces a few new built-in functions: flat and flatMap on Array.prototype for flattening arrays, Object.fromEntries for directly turning the return value of Object.entries into a new Object, and trimStart and trimEnd on String.prototype as better-named alternatives to the widely implemented but non-standard String.prototype.trimLeft and trimRight built-ins.

Great Features in EcmaScript 6 and later on

1. Classes: ES6 introduces language support for classes (class keyword), constructors (constructor keyword), and the extend keyword for inheritance.

2. Arrow Functions: Arrow functions provide two features: lexical scoping of the this keyword and less ceremony when defining an anonymous function. Without arrow functions, every function defines a this value.

3. Modules: Modules in ES6 provide a way to load and manage dependencies via the new import and export keywords.

4. Block Scoping: In ES6, you can use the new let keyword to achieve block scoping.

5. Promises: Promises provide a mechanism to handle the results and errors from asynchronous operations as well as improved readability via method chaining and succinct error handling.


Most Read

#1 How to check if radio button is checked or not using JavaScript? #2 How to add Read More Read Less Button using JavaScript? #3 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #4 How to uninstall Cocoapods from the Mac OS? #5 PHP Login System using PDO Part 1: Create User Registration Page #6 How to Use SQL MAX() Function with Dates?

Recently Posted

#Jan 17 4 advanced ways to search Colleague #Jan 16 Colleague UI Basics: The Search Area #Jan 16 Colleague UI Basics: The Context Area #Jan 16 Colleague UI Basics: Accessing the user interface #Jan 14 How to display a student’s individual transcript in Colleague? #Jan 11 How to install PuTTY on a MacOS?
You might also like these
What are Identifiers in JavaScript?JavaScriptHow to Use Aggregate Functions (MIN, MAX, SUM, AVG, COUNT) to Summarize Data in SQL?SQL/MySQLURL paths in DrupalDrupalHow to create a Horizontal Scroll on button click using JavaScript?JavaScriptLearn to Establish Connection using MySQLi (object-oriented), MySQLi (procedural) and PDO with Example CodePHPHow to enable and disable button using JavaScript?JavaScript