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");

Prova a farlo tu stesso

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 (gAltrimenti, verrà lancato un TypeError.

Esempio

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

Prova a farlo tu stesso

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;

Prova a farlo tu stesso

I separatorsi numerici sono solo per uso visivo.

Esempio

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

Prova a farlo tu stesso

I separatorsi numerici possono essere posizionati in qualsiasi parte di un numero:

Esempio

const num1 = 1_2_3_4_5;

Prova a farlo tu stesso

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