Présentation des nouvelles fonctionnalités qu'ECMAScript 2016 (ES7) ajoute à JavaScript

Depuis la sortie d'ECMAScript 2015 (également connu sous le nom d'ES6), il a introduit un vaste ensemble de nouvelles fonctionnalités. Ils incluent des fonctions fléchées, des ensembles, des cartes, des classes et des destructures, et bien plus encore. À bien des égards, ES2015 est presque comme apprendre une nouvelle version de JavaScript.

Le Comité Technique Ecma 39 régit la spécification ECMA. Ils ont décidé de publier une nouvelle version d'ECMAScript chaque année à partir de 2015. Une mise à jour annuelle signifie qu'il n'y aura plus de grandes versions comme ES6.

ECMAScript 2016 n'a introduit que deux nouvelles fonctionnalités:

  • Array.prototype.includes ()
  • Opérateur d'exponentiation

Array.prototype.includes ()

Array.prototype.includes()vérifie le tableau pour le valuepassé en tant que argument. Il renvoie truesi le tableau contient le value, sinon, il retourne false.

Avant, nous devions utiliser Array.prototype.indexOf()pour vérifier si le tableau donné contient un élément ou non.

let numbers = [1, 2, 3, 4];
if(numbers.indexOf(2) !== -1) { console.log('Array contains value');}

Avec ECMA2016, nous pouvons écrire:

if(numbers.includes(2)) { console.log('Array contains value');}

Array.prototype.includes()gère NaNmieux que Array.prototype.indexOf(). Si le tableau contient NaN, indexOf()ne renvoie pas d'index correct lors de la recherche NaN.

Array.prototype.includes()renvoie la valeur correcte lors de la recherche NaN.

NaNest une propriété de l'objet global JavaScript et représente une valeur qui est Not-a-Number. Il existe des bizarreries connues en comparant NaNà une autre valeur. Celles-ci sont traitées dans Array.prototype.includes(), mais pas dans Array.protoype.indexOf.

let numbers = [1, 2, 3, 4, NaN];
console.log(numbers.indexOf(NaN)); //Prints -1console.log(numbers.includes(NaN)); //Prints true

Opérateur d'exponentiation

JavaScript prend déjà en charge de nombreux opérateurs arithmétiques comme +, -, *et plus encore.

ECMAScript 2016 introduit l'opérateur exponentiation, **.

Il a le même objectif que Math.pow(). Il renvoie le premier argument élevé à la puissance du second argument.

let base = 3;let exponent = 4;let result = base**exponent;
console.log(result); //81

Conclusion

Les nouvelles fonctionnalités introduites par ECMA2016 offrent des alternatives pratiques aux fonctionnalités existantes.

Pour l'avenir, l'ECMA2017 a été finalisé en juin de cette année. Les nouvelles fonctionnalités incluent async/await, SharedArrayBufferet quelques méthodes utiles pour Object.prototype.