Godswill Umukoro

Godswill Umukoro

What is ECMAScript and how's it different from ECMA, TC39, and JavaScript?

What is ECMAScript and how's it different from ECMA, TC39, and JavaScript?

Subscribe to my newsletter and never miss my upcoming articles

TL;DR

ECMA International

A standards creation organization in charge of all sorts of different standards.

Screenshot 2021-09-06 at 07.08.52.png

ECMAScript

A specification for a programming language, think of it as a text reference that describes how a language should work, and not a programming language itself.

Screenshot 2021-09-06 at 07.10.51.png

TC39

Technical Committee Number 39 is in charge of maintaining and evolving the ECMAScript spec. 40-60 delegates meet six times each year to discuss proposed changes to the spec. They decide new features that gets added to the ECMAScript specification

JAVASCRIPT

JavaScript, often abbreviated as JS, is a programming language that conforms to the ECMAScript specification. Since there is no official download or method to automatically update JS when new features are available and because JS is up to the browsers to implement, this means that different browsers will support different features at any given point in time. Websites like caniuse.com exist to help us with this problem.

Javascript History - a Crash Course

Javascript was first released under the name LiveScript in 1995 as the main scripting language for the Netscape browser.

In 1996 Netscape submitted the programming language to a standards creation organization called ECMA International in hopes to create a standard on how to use a language across different browsers and that standard named ECMAScript was created and released the next year, 1997.

There are two parties that contribute to updating and maintaining ECMAscript, TC39 and The open source community.

TC39

Technical Committee Number 39 is in charge of creating and finalizing ECMAScript proposals that will get included in newer versions of ECMAScript. This is just one of the many sub-committees that reside under the ECMA International organization.

The Open Source Community

Anyone can create a proposal and a TC39 community member can champion a proposal, who will support and try to get that proposal into the latest version of ECMAScript.

How Javascript Gets Updated

As Javascript continues to grow and new features are added a little different from conventional programming languages and bundled software packages.

Javascript is different because there isn't a single JS package to download and install on your computer. Rather the implementation is done by browsers and its up various browsers to implement new features when they get released by TC39 and ECMA International.

ECMAScript Version Release

New features of the specification are grouped into batches and have been released annually since 2015.

2009 - ES5. Took many years before the next release where new features were added.

2015 - ES6. Many new features like template strings and destructuring were added to the specification.

2016 - ES2016. A minor revision of features was added from the previous year with a few new features.

2017 - ES2017. New features like async was added to the specification.

2018 - ES2018. Promise, prototype and finally were added to the specification

2019 - ES2019. flat() and flatMap() were added to the specification.

ES2020 - Big Int was added to the specification.

This is not an exhaustive list of new feature additions to the spec. As of this writing, ES2021 has not yet been released.

To learn more, watch this instructional video by Ijemma Onwuzulike.

If you found this article useful, consider subscribing to my newsletter to get notified when I release new articles in the future. Sponsorships are very much welcomed too 😀

 
Share this