Update 2021-06-22: The 121st Ecma General Assembly approved the ECMAScript 2021 language specification, which means that it’s officially a standard now.
This blog post describes what’s new.
The editors of this release are:
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.
String.prototype.replaceAll
(Peter Marshall, Jakob Gruber, Mathias Bynens)
Promise.any()
(Mathias Bynens, Kevin Gibbons, Sergey Rubanov)
WeakRefs (Dean Tribble, Mark Miller, Till Schneidereit, Sathya Gunasekaran, Daniel Ehrenberg) [proposal]
Logical assignment operators (Justin Ridgewell, Hemanth HM)
Underscores (_
) as separators in number literals and bigint literals (Sam Goto, Rick Waldron)
They refer to maturity stages of the so-called “TC39 process”. Check section “The TC39 process” in “JavaScript for impatient programmers” for more information.
If you are wondering what stages various proposed features are in, consult the readme of the ECMA-262 GitHub repository.
Yes, the TC39 repo lists finished proposals and mentions in which ECMAScript versions they are introduced.
The following books cover JavaScript up to and including ECMAScript 2021 and are free to read online: