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

Was this helpful?