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