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:
- Promise.any()
- Método de cadena replaceAll()
- Separador numérico (_)
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");
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");
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;
Los separadores numéricos solo se utilizan con fines visuales.
Ejemplo
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
Los separadores numéricos pueden colocarse en cualquier posición dentro de un número:
Ejemplo
const num1 = 1_2_3_4_5;
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 |