ECMAScript 2016
La convention de dénomination JavaScript a commencé par ES1, ES2, ES3, ES5 et ES6.
Mais ECMAScript 2016 et 2017 ne s'appelaient pas ES7 et ES8.
Depuis 2016 les nouvelles versions sont nommées par année (ECMAScript 2016 / 2017 / 2018).
Nouvelles fonctionnalités dans ECMAScript 2016
Ce chapitre présente les nouvelles fonctionnalités d'ECMAScript 2016 :
- Exponentation JavaScript (**)
- Affectation d'exponentiation JavaScript (**=)
- JavaScript Array.prototype.includes
Opérateur d'exponentiation
L' opérateur d' exponentiation**
( ) élève le premier opérande à la puissance du deuxième opérande.
Exemple
let x = 5;
let z = x ** 2; // result is 25
x ** y
produit le même résultat que Math.pow(x, y)
:
Exemple
let x = 5;
let z = Math.pow(x,2); // result is 25
Affectation d'exponentiation
L' opérateur d'affectation d'exponentiation**=
( ) élève la valeur d'une variable à la puissance de l'opérande de droite.
Exemple
let x = 5;
x **= 2; // result 25
Chrome 52 et Edge 14 ont été les premiers navigateurs à prendre entièrement en charge l'opérateur d'exponentiation :
Chrome 52 | Edge 14 | Firefox 52 | Safari 10.1 | Opera 39 |
Jul 2016 | Aug 2016 | Mar 2017 | Mar 2017 | Aug 2016 |
Tableau JavaScript.includes()
ECMAScript 2016 introduit Array.prototype.includes
dans les tableaux. Cela nous permet de vérifier si un élément est présent dans un tableau :
Exemple
const fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.includes("Mango"); // is true
Tous les navigateurs modernes prennent en charge Array.prototype.includes :
Chrome 47 | Edge 14 | Firefox 43 | Safari 9 | Opera 34 |
Dec 2015 | Aug 2016 | Dec 2015 | Oct 2015 | Dec 2015 |