ECMAScript Next refers to new features of the ECMA-262 standard (commonly referred to as JavaScript) introduced after ECMAScript 2015. New versions of ECMAScript specifications are released yearly. So far, ES2016, ES2017, and ES2018 have been released. This year, the ES2019 specification will be released and ES2020 is the current ECMAScript draft specification.
You can see the latest proposals on the tc39/ecma262 GitHub repository.
A channel for feedback on ECMAScript standards is es-discuss.
Below is a list of features in ES2016+ and what version of Firefox they were implemented in.
Array.prototype.includes()
(Firefox 43)TypedArray.prototype.includes()
(Firefox 43)Object.values()
(Firefox 47)Object.entries()
(Firefox 47)String.prototype.padStart()
(Firefox 48)String.prototype.padEnd()
(Firefox 48)Object.getOwnPropertyDescriptors()
(Firefox 50)async function
(Firefox 52)async function expression
(Firefox 52)AsyncFunction
(Firefox 52)await
(Firefox 52)for await...of
(Firefox 57)Global_Objects/SharedArrayBuffer
(Firefox 57, with flags)Global_Objects/Promise/finally
(Firefox 58)Global_Objects/RegExp/dotAll
(not yet implemented; in other browsers)Array.flat()
(Firefox 62)Array.flatMap()
(Firefox 62)Object.fromEntries()
(Firefox 63)String.trimStart()
and String.trimEnd()
(Firefox 61)Function.toString()
revision (Firefox 54)Symbol.description
(Firefox 63)JSON.stringify()
(Firefox 64)This is the current ES.Next version.
The following features are already implemented, but only available in the Firefox Nightly channel and not yet included in a draft edition of an ECMAScript specification.
ArrayBuffer
objectTypedObject
object, e.g. TypedObject.StructType
& TypedObject.ArrayType
. This feature is non-standard and not documented.See https://bugzilla.mozilla.org/show_bug.cgi?id=1336740 and https://bugzilla.mozilla.org/show_bug.cgi?id=578700.