bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/JavaScript/Debugging, Projects, and Reference
JavaScript•Debugging, Projects, and Reference

ECMAScript 2021

New Features in JavaScript 2021

FeatureDescription
Promise.any()Takes promises as input and returns a single promise
String replaceAll()Replaces all occurrences of a substring in a string
Numeric SeparatorNew numeric separator (_) makes numbers more readable

Browser Support

ECMAScript 2021 is supported in all modern browsers since April 2021 :

Chrome 85Edge 85Firefox 79Safari 14.1Opera 71
Aug 2020Aug 2020Jul 2020Apr 2021Sep 2020

JavaScript Promise.any()

Promise.any() is a static method in JavaScript that takes an iterable of Promises as input and returns a single Promise.

Example

// Create a Promise
const myPromise1 = new Promise((resolve, reject) => {
  setTimeout(resolve, 200, "King");
});
// Create another Promise
const myPromise2 = new Promise((resolve, reject) => {
  setTimeout(resolve, 100, "Queen");
});
// Run when any promise fulfill Promise.any([myPromise1, myPromise2]).then((x) => { myDisplay(x);
});

JavaScript String ReplaceAll()

ES2021 introduced the string method replaceAll()

text = text.replaceAll("Cats","Dogs");
text = text.replaceAll("cats","dogs");

The replaceAll() method allows you to specify a regular expression instead of a string to be replaced.

If the parameter is a regular expression, the global flag (g) must be set, otherwise a TypeError is thrown.

text = text.replaceAll(/Cats/g,"Dogs");
text = text.replaceAll(/cats/g,"dogs");

ES2020 introduced the string method matchAll().

JavaScript Numeric Separator (_)

ES2021 intoduced the numeric separator (_) to make numbers more readable:

Example

const num = 1_000_000_000;

The numeric separator is only for visual use.

Example

const num1 = 1_000_000_000;
const num2 = 1000000000;
(num1 === num2);

The numeric separator can be placed anywhere in a number:

Example

const num1 = 1_2_3_4_5;

The numeric separator is not allowed at the beginning or at the end of a number.

In JavaScript only variables can start with _.

Previous

ECMAScript 2022

Next

ECMAScript 2020

This chapter

Overview
32

Lessons

180m

Read time

1. JavaScript Errors2. JavaScript Debugging3. JavaScript Statements4. Project - localStorage Counter5. ECMAScript 20266. JavaScript Silent Errors7. JavaScript Debugging Console8. JavaScript Reserved Words9. Project - Event Listener10. ECMAScript 202511. JavaScript Error Statements12. JavaScript Debugging Breakpoints13. JavaScript Operator Precedence14. Project - To-Do List15. ECMAScript 202416. JavaScript Debugging Errors17. Project - Modal Popup18. ECMAScript 202319. JavaScript Debugging Async20. Project - Form Validation21. ECMAScript 202222. ECMAScript 202123. ECMAScript 202024. ECMAScript 201925. ECMAScript 201826. ECMAScript 201727. ECMAScript 201628. Javascript 2015 (ES6)29. JavaScript 2009 (ES5)30. JavaScript 1999 (ES3)31. JavaScript Versions32. JavaScript History

On this page

New Features in JavaScript 2021Browser SupportJavaScript Promise.any()JavaScript String ReplaceAll()JavaScript Numeric Separator (_)