ECMAScript 2021

Número de versión de JavaScript

Las versiones antiguas de JS se nombran por números: ES5 (2009) y ES6 (2015).

Desde 2016, las versiones se nombran por años: ECMAScript 2016, 2017, 2018, 2019,...

Nuevas características

Nuevas características de ES2021:

Nuevas características de ES2022:

  • Método de array at()
  • Método de cadena at()
  • Expresión regular /d
  • Object.hasOwn()
  • error.cause
  • await import
  • Métodos y campos privados
  • Declaración de campos de clase

Advertencia

Estas características son relativamente nuevas.

Los navegadores más antiguos pueden necesitar código alternativo (Polyfill)

Método de cadena ReplaceAll() de JavaScript

ES2021 introdujo el método de cadena replaceAll():

Ejemplo

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

Prueba personalmente

La función replaceAll() permite especificar una expresión regular en lugar de una cadena de sustitución.

Si el parámetro es una expresión regular, debe establecer el indicador global (g),de lo contrario se lanzará un TypeError。

Ejemplo

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

Prueba personalmente

Consejo:ES2020 Se introdujo el método de cadena matchAll().

Separadores numéricos en JavaScript

ES2021 introdujo los separadores numéricos (_) para hacer que los números sean más legibles:

Ejemplo

const num = 1_000_000_000;

Prueba personalmente

Los separadores numéricos solo se utilizan con fines visuales.

Ejemplo

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

Prueba personalmente

Los separadores numéricos pueden colocarse en cualquier posición dentro de un número:

Ejemplo

const num1 = 1_2_3_4_5;

Prueba personalmente

Nota

Los separadores numéricos no se permiten en el principio o final de un número.

En JavaScript, soloVariablePueden comenzar con un guión bajo (_).

Desde enero de 2020, todos los navegadores modernos admiten separadores numéricos:

Chrome Edge Firefox Safari Opera
Chrome 75 Edge 79 Firefox 74 Safari 13.1 Opera 67
Junio de 2019 Enero de 2020 Octubre de 2019 Septiembre de 2019 Junio de 2019