What is ESNext?
I've come across the term ESNext
, and wondering it is the same as the ECMAScript.
So, I have these questions here:
- What is ESNext, actually?
- Does it refer to any specific version of ECMAScript?
What is ESNext, actually?
It varies depending on who's using the term, usually "the next" version of ECMAScript (JavaScript). For instance, when I first wrote this answer in June 2019, if someone said "ESNext" they might be talking about ES2019 plus BigInt, dynamic import, and other features that had recently reached Stage 4 of the process, or they might even have been talking about those plus some advanced Stage 3 proposals. As of this update in April 2020, they'd be talking about the recently-agreed ES2020 and perhaps things like top-level await
, WeakRefs, and logical assignment operators. It varies.
Does it refer to any specific version of EcmaScript?
No, it usually refers to a constantly moving target just beyond the current snapshot specification.
But again, it varies a bit by who's using it.
ESNext is a name that always indicates the next version of JavaScript.
The current ECMAScript version is ES2018. It was released in June 2018.
Proposals to the ECMAScript standard are organized in stages. Stages 1–3 are an incubator of new features, and features reaching Stage 4 are finalized as part of the new standard.
ES.Next is a dynamic name that refers to whatever the next version is at time of writing. ES.Next features are more correctly called proposals, because, by definition, the specification has not been finalized yet. Many features that are a “part” of ES.Next were not even proposed during the work on ES6. Indeed, as a living language, ECMAScript / JavaScript is constantly evolving and being enhanced, and new proposals are continuously being added into ES.Next.
Source : Quora