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 |