L’ECMAScript est un langage qui forme la base de JavaScript. Il est standardisé par l’organisation ECMA International. Les spécifications de la version ECMAScript 2016 viennent d’être approuvées.
La portée des changements apportés par la version ECMAScript 2016 est relativement limitée. En vertu de la nouvelle philosophie qui est de proposer des mises à jour plus fréquentes, ces mêmes mises à jour sont également plus petites. Au niveau des nouvelles fonctionnalités, il faut noter l’arrivée de la méthode Array.Prototype.includes qui permet de déterminer si un tableau contient un certain élément, ainsi qu’un opérateur exponentiel pour travailler avec des variables.
Il est bon de souligner que les éditeurs de navigateurs, commet Google et Firefox, ont pris l’habitude de soutenir les spécifications d’ECMAScript avant même leurs approbations officielles. De fait, cette approbation de l’organisation ECMA International n’est qu’une formalité.
« Si vous êtes déçu que vos fonctionnalités préférées ne soient pas dans ES2016, ne vous inquiétez pas », a prévenu Axel Rauschmayer en début d’année. « Avec le nouveau processus de libération, il y a plus au stade des propositions alors que seule une partie est libérée ». C’est une manière pour lui de dire que la version ECMAScript 2017 est déjà en préparation.
Une version ECMAScript 2017 en préparation
Vendredi dernier, Axel Rauschmayer a d’ailleurs confirmé sur son blog que « cette version est bien en cours de préparation » en parlant d’ECMAScript 2017. « Jusqu’à présent, seules les fonctionnalités Object.values/Object.entries sont confirmées. Parmi les caractéristiques qui pourraient faire partie de cette version, je suis très impatient au sujet des fonctions asynchrones, ce qui va grandement simplifier l’écriture du code asynchrone ».
Comme l’explique la page Wikipédia concernant ECMAScript, il s’agit d’un ensemble de normes standardisées par ECMA International, dans le cadre de la spécification ECMA-262, concernant les langages de programmation de type script. Il s’agit d’un standard dont les spécifications sont mises en œuvre dans plusieurs langages de script différents, par exemple JavaScript et ActionScript.