ECMAScript 2018

Le convenzioni di nomi JavaScript iniziano con ES1, ES2, ES3, ES5 e ES6.

Ma ECMAScript 2016 e 2017 non sono chiamati ES7 e ES8.

Da 2016, le nuove versioni sono denominate per anno (ECMAScript 2016/2017/2018).

Nuove caratteristiche in ECMAScript 2018

Questo capitolo introduce le nuove caratteristiche di ECMAScript 2018:

  • Iterazione asincrona
  • Promise Finally
  • Proprietà REST degli oggetti
  • Nuove caratteristiche di RegExp

Iterazione asincrona JavaScript

ECMAScript 2018 ha aggiunto gli iteratori asincroni e gli oggetti iterabili.

Grazie all'iterazione asincrona, possiamo for/of nell'uso del ciclo await chiave di ricerca.

Esempio

for await () {}

Firefox e Safari sono i primi browser a supportare l'iterazione asincrona JavaScript:

Chrome e Firefox sono i primi browser a supportare tutte le nuove funzionalità di RegExp: IE Firefox Safari Opera
Chrome 63 Edge 79 Firefox 57 Safari 11 Opera 50
Dicembre 2017 Gennaio 2020 Novembre 2017 Settembre 2017 Gennaio 2018

Promise.finally JavaScript

ECMAScript 2018 utilizza Promise.finally Ha completato l'implementazione completa dell'oggetto Promise:

Esempio

let myPromise = new Promise();
myPromise.then();
myPromise.catch();
myPromise.finally();

Chrome e Firefox sono i primi a supportare Promise.finally dei browser:

Chrome e Firefox sono i primi browser a supportare tutte le nuove funzionalità di RegExp: IE Firefox Safari Opera
Chrome 63 Edge 18 Firefox 58 Firefox 55 Opera 50
Dicembre 2017 Novembre 2018 Gennaio 2018 Luglio 2017 Gennaio 2018

Proprietà REST degli oggetti JavaScript

ECMAScript 2018 ha aggiunto le proprietà REST.

Questo ci permette di distruggere un oggetto e raccogliere i resti in un nuovo oggetto:

Esempio

let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 };
x; // 1
y; // 2
z; // { a: 3, b: 4 }

Chrome, Firefox e Opera sono i primi browser a supportare le proprietà REST degli oggetti:

Chrome e Firefox sono i primi browser a supportare tutte le nuove funzionalità di RegExp: IE Firefox Safari Opera
Chrome 60 Edge 79 Chrome 60 Firefox 55 Safari 11.1
Opera 47 Gennaio 2020 Marzo 2018 Luglio 2017 Marzo 2018

Agosto 2017

Nuove caratteristiche di RegExp JavaScript

  • ECMAScript 2018 ha aggiunto 4 nuove caratteristiche di RegExp:
  • Escape di attributi Unicode (\p{...})
  • Affermazioni retroattive (Lookbehind Assertions) (?<= ) e (?<! )
  • Gruppi di cattura nominati (Named Capture Groups)

Simbolo (dotAll) s

Chrome e Firefox sono i primi browser a supportare tutte le nuove funzionalità di RegExp: IE Firefox Safari Opera
Chrome 64 Edge 79 Firefox 78 Safari 12 Opera 51
Gennaio 2018 Gennaio 2020 Giugno 2020 Settembre 2018 Febbraio 2018