Update 2020-04-02: Today, the ES2020 candidate was released, with the final feature set of that version. This blog post describes what’s new.

A word on ECMAScript versions #

Note that since the TC39 process was instituted, the importance of ECMAScript versions has much decreased. What really matters now is what stage a proposed feature is in: Once it has reached stage 4, it can be used safely. But even then, you still have to check if your engines of choice support it.

The features of ES2020 (stage 4 proposals) #

What do the stages mean? #

They refer to maturity stages of the so-called “TC39 process”. Check section “The TC39 process” in “JavaScript for impatient programmers” for more information.

How is [my favorite proposed feature] doing? #

If you are wondering what stages various proposed features are in, consult the readme of the ECMA-262 GitHub repository.

Is there an official list of ECMAScript features? #

Yes, the TC39 repo lists finished proposals and mentions in which ECMAScript versions they are introduced.

Further reading #

The following two books cover JavaScript up to and including ECMAScript 2019 (future editions will cover ECMAScript 2020):