ECMAScript 2018
Les conventions de nommage JavaScript commencent par ES1, ES2, ES3, ES5 et ES6.
Mais ECMAScript 2016 et 2017 ne sont pas appelés ES7 et ES8.
Depuis 2016, les nouvelles versions sont nommées par année (ECMAScript 2016/2017/2018).
Nouvelles fonctionnalités d'ECMAScript 2018
Ce chapitre présente les nouvelles fonctionnalités d'ECMAScript 2018 :
- Itération asynchrone
- Promise Finally
- Propriétés REST des objets
- Nouvelles caractéristiques de RegExp
Itération asynchrone JavaScript
ECMAScript 2018 a ajouté les itérateurs asynchrones et les objets itérables.
Grâce à l'itération asynchrone, nous pouvons for/of
dans une boucle await
mot-clé.
Exemple
for await () {}
Firefox et Safari sont les premiers navigateurs à soutenir l'itération asynchrone JavaScript :
Chrome et Firefox sont les premiers navigateurs à prendre en charge toutes les nouvelles fonctionnalités de RegExp : | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 63 | Edge 79 | Firefox 57 | Safari 11 | Opera 50 |
Décembre 2017 | Janvier 2020 | Novembre 2017 | Septembre 2017 | Janvier 2018 |
JavaScript Promise.finally
ECMAScript 2018 utilise Promise.finally
Il a réalisé la pleine implémentation de l'objet Promise :
Exemple
let myPromise = new Promise(); myPromise.then(); myPromise.catch(); myPromise.finally();
Chrome et Firefox sont les premiers à soutenir Promise.finally
des navigateurs :
Chrome et Firefox sont les premiers navigateurs à prendre en charge toutes les nouvelles fonctionnalités de RegExp : | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 63 | Edge 18 | Firefox 58 | Firefox 55 | Opera 50 |
Décembre 2017 | Novembre 2018 | Janvier 2018 | Juillet 2017 | Janvier 2018 |
Propriétés REST des objets JavaScript
ECMAScript 2018 a ajouté les propriétés REST.
Cela nous permet de briser un objet et de recueillir les restes dans un nouvel objet :
Exemple
let { x, y, ...z } = { x: 1, y: 2, a: 3, b: 4 }; x; // 1 y; // 2 z; // { a: 3, b: 4 }
Chrome, Firefox et Opera sont les premiers navigateurs à soutenir les propriétés REST des objets :
Chrome et Firefox sont les premiers navigateurs à prendre en charge toutes les nouvelles fonctionnalités de RegExp : | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 60 | Edge 79 | Chrome 60 | Firefox 55 | Safari 11.1 |
Opera 47 | Janvier 2020 | Mars 2018 | Juillet 2017 | Mars 2018 |
Août 2017
Nouvelles caractéristiques de RegExp JavaScript
- ECMAScript 2018 a ajouté 4 nouvelles caractéristiques de RegExp :
- Échappement des attributs Unicode (\p{...})
- Affirmations arrières (Lookbehind Assertions) (?<= ) et (?<! )
- Groupes de capture nommés (Named Capture Groups)
Drapeau (dotAll) s
Chrome et Firefox sont les premiers navigateurs à prendre en charge toutes les nouvelles fonctionnalités de RegExp : | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 64 | Edge 79 | Firefox 78 | Safari 12 | Opera 51 |
Janvier 2018 | Janvier 2020 | Juin 2020 | Septembre 2018 | Février 2018 |