ES Next

This page covers all standardized features of the next version of ECMAScript (a.k.a ES)

ES2022

ES2021

  • String.prototype.replaceAll() – replace all occurrences of a substring that matches a pattern with a new one.
  • Logical Assignment Operators – introduce to you the logical assignment operators, including ||=, &&=, and ??=
  • Numeric Separator– show you how to make the numbers more readable by using underscores as numeric separators.
  • Promise.any() – learn how to use the JavaScript Promise.any() method to return the first Promise that fulfills.

ES2020

  • Nullish coalescing operator (??) – accept two operands and return the right operand if the left one is null or undefined.
  • Optional chaining operator (?.) – simplify the way to access a property located deep within a chain of connected objects without having to check if each reference in the chain is null or undefined.
  • Promise.allSettled() – accept a list of promises and returns a new promise that resolves to an array of values, which were settled (either resolved or rejected) by the input promises.
  • Dynamic import – show you how to import a module dynamically via the function-like object import().
  • BigInt – introduce you to a new primitive type that can represent whole numbers bigger than 253 – 1, which is the largest number Javascript can reliably represent with the Number type.
  • globalThis – provide a standard way to access the global object across environments.

ES2019

ES2018

ES2017

  • Padding a string – show you how to use a pair of methods:  padStart() and  padEnd() that allow you to pad a string with another string to a certain length.
  • Object.values() – return own enumerable property’s values of an object as an array.
  • Object.entries() – return own enumerable string-keyed property [key, value] pairs of an object.
  • JavaScript async / await – write asynchronous code in a clearer syntax.

ES2016

  • Exponentiation Operator   – introduce you to the exponentiation operator (**) that allows you to calculate a base to the exponent power, which is similar to Math.pow() method.
  • Array includes()  – allow you to check if an element is in an array.

ES versions

The following table describes the editions and official names of ECMAScript:

EditionOfficial nameDate published
ES12ES2021June 2020
ES11ES2020June 2020
ES10ES2019Summer 2019
ES9ES2018June 2018
ES8ES2017June 2017
ES7ES2016June 2016
ES6ES2015June 2015
ES5.1ES5.1June 2011
ES5ES5December 2009
ES4ES4Abandoned
ES3ES3December 1999
ES2ES2June 1998
ES1ES1June 1997