What is ECMAScript? What is not?

A JavaScript library on GitHub, a job posting from your dream company, or a tweet you see on Twitter, EcmaScript comes up in many places regarding to JavaScript. But there is confusion even in ‘senior level’ job posting about the concept.

What is ECMAScript? What is not?

A JavaScript library on GitHub, a job posting from your dream company, or a tweet you see on Twitter, EcmaScript comes up in many places regarding to JavaScript. But there is confusion even in ‘senior level’ job posting about the concept. There are different uses about EcmaScript which aims to standardize Scripting languages, and specifically JavaScript. Frankly, the idea of writing this article came up from one of this postings.

You may see such requirements in this postings:

  • Extensive knowledge on JavaScript and EcmaScript
  • ES5 and ES6 knowledge
  • ES6+ knowledge (the weirdest in my opinion)
  • ES.Next knowledge (and the most meaningful one)

The most googled terms about EcmaScript also clearly show a misunderstanding about the concept. Some top searches are;

  • Ecmascript vs Javascript
  • What is EcmaScript
  • What is EcmaScript 5
  • What is EcmaScript 6
  • Difference between EcmaScript and Javascript
  • Learn EcmaScript etc.

Lets answer below questions to clarify the topic.

What is ECMA International?

ECMA, with its long name “European Computer Manufacturers Association” is a non profit association. ECMA publishes standards on information and communication technologies and is not just about EcmaScript.

What is ECMAScript?

There are lots of standards published by ECMA International. ECMAScript 2021 is regulated by ECMA-262, one of this standard. ECMAScript is a general-purpose standard on programming languages-scripting languages.

What is the difference between EcmaScript and JavaScript?

ECMAScript is a standard. JavaScript is a programming language that obeys this standard.

I know JavaScript but not Ecma” is not meaningful. If you are trying to develop a new scripting language, you need to know Ecma standard very well, otherwise you don’t need to know it’s details to be a successful javascript developer. However as JavaScript is compatible with the standard, knowing the standard will help you better understand advanced JavaScript concepts.

ES5, ES6, ES7, ES8, ES9, ES10, ES11, ES12, ES.next … What are all of these numbers?

ECMAScript is revised and updated every year, so a new version is published yearly. Actually, there are no two different standards as ES11 and ES12, but ES 12 is just the revised version of ES 11. Basically, ES 12 is the superior of ES 5.

If “ES8+” is specified in a repo, it means that a javascript engine that supports ES8 and later can run these codes without using any converters.

A requirements of “ES8+” on the other hand is not reasonable in my opinion. It might be acceptable if they only say E8, which means you only need to know up to ES 8, but there is nothing as ES 8+ knowledge. I guess they are trying to say ‘the latest’ version which is ES.next.

Is ES6 enough?

Some job postings only requires ES6 experience. Then we can assume that we don’t need to know the async/await functions that come with ES8, the generator functions that come with ES9, the dynamic import feature that comes with ES10, the matchAll or Promise.allSettled methods that come with ES11, and the Promise.any or String.replaceAll() methods that come with ES12. I’m deducing that we can become the ‘Senior Javascript Developer’ described in the posting although we don’t know any features released after ES6.

Does an ECMAScript compliant code work on any environment?

There is no clear answer to this question. You cannot be sure that the JavaScript engine of the browser or other environments support the latest ECMAScript version. Since the ES5 version was released in December 2009, it can be said to be partially safe assuming your users does not use older devices However ES6 was released after 2015, and having compatibility issues may have higher probabilities.

You need to meet a new tool to safely overcome this problem: “BABEL

Babel is a tool that convers ECMAScript 2015+ code to a ES5 compatible version

You will be able to use ES6+ code without any problem If you use Babel as an add-on to module bundler tools such as Webpack, Gulp, Rollup.js. Consequently, you will ensure that the final code can be run for ES5 supporting engines.

Have any question, suggestion or comment?

Evren Bal

I am Evren BAL

I've been an ‘Internet Creature’ since 1996!

More info about About Evren BAL

If you want to meet one-on-one, feel free to contact me via social media.

Reach Me Out

Reach Me Out

  • Have a question?
  • Noticed a mistake in the article?
  • Have a suggestion about the page?
  • Have a suggestion for an aticle topic?

Reach me out using the contact form or via my social media accounts.

Digital Ocean Logo

Want to try a free VPS?

Using my referral link, you may create a new Digital Ocean account with $100 credit valid for 60 days. This gives you the opportunity to try even the highest performing VPS.

My advice will be to start with a VPS that is feasible and affordable to use after the trial, so that the time you spend on setting up the server is not wasted.

Get your free credits here

You don't have to pay any penny, if you don't want to continue at the end of 60-day trial. If you prefer to continue with the paid service, your first $25 order will reward me $25 free credit that I can use for my hosting

In other words, you will get 100$ credit anyway, and I'll get a 25$ credit if you continue with the paid service in the long run.

Copyright © 2023 - Evren BAL