ECMAScript 2021
Versione di JavaScript
Le vecchie versioni di JS sono denominate con numeri: ES5 (2009) e ES6 (2015).
Dalla versione 2016, le versioni sono denominate per anno: ECMAScript 2016, 2017, 2018, 2019, ...
Nuove caratteristiche
Nuove caratteristiche di ES2021:
Nuove caratteristiche di ES2022:
- Metodo di array at()
- Metodo di stringa at()
- Espressione regolare /d
- Object.hasOwn()
- error.cause
- await import
- Metodi e campi privati
- Dichiarazione di campo di classe
Attenzione
Queste caratteristiche sono relativamente nuove.
I browser più vecchi potrebbero richiedere codice alternativo (Polyfill)
Metodo ReplaceAll() della stringa JavaScript
ES2021 ha introdotto il metodo di stringa replaceAll():
Esempio
text = text.replaceAll("Cats","Dogs"); text = text.replaceAll("cats","dogs");
Il metodo replaceAll() ti permette di specificare un'espressione regolare invece di una stringa da sostituire.
Se il parametro è un'espressione regolare, deve essere impostato il segno di spunta globale (g
Altrimenti, verrà lancato un TypeError.
Esempio
text = text.replaceAll(/Cats/g,"Dogs"); text = text.replaceAll(/cats/g,"dogs");
Suggerimento:ES2020 È stato introdotto il metodo di stringa matchAll().
Separatori numerici JavaScript
ES2021 ha introdotto i separatorsi numerici (_
) per rendere i numeri più leggibili:
Esempio
const num = 1_000_000_000;
I separatorsi numerici sono solo per uso visivo.
Esempio
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
I separatorsi numerici possono essere posizionati in qualsiasi parte di un numero:
Esempio
const num1 = 1_2_3_4_5;
Attenzione
I separatorsi numerici non possono apparire all'inizio o alla fine di un numero.
In JavaScript, soloVariabilePossono iniziare con un _.
Da gennaio 2020, tutti i browser moderni supportano i separatorsi numerici:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 75 | Edge 79 | Firefox 74 | Safari 13.1 | Opera 67 |
Giugno 2019 | Gennaio 2020 | Ottobre 2019 | Settembre 2019 | Giugno 2019 |