Les versions de JavaScript : ES6, ES2017…

Vous êtes perdu/e dans la nouvelle terminologie JavaScript ? On vous explique tout.

L’histoire de JavaScript

A l’époque obscure où les technologie web n’étaient pas encore standardisées, il existait deux versions de ce que vous connaissez aujourd’hui : le JavaScript de Netscape (l’ancêtre de Firefox) et le JScript d’Internet Explorer.

C’est le terme JavaScript qui est resté, mais cela repose maintenant sur un standard qui s’appelle ECMAScript, que l’on abrège « ES ». Le JavaScript que tout le monde connaît correspond à la version 5 de ce standard : l’ES5.

Un nouveau standard

Pendant longtemps, le standard n’a pas évolué. Jusqu’à juin 2015, qui a vu la sortie d’une nouvelle version majeure : l’ES6 (par rapport au numéro de version du standard), aussi appelée l’ES2015 (par rapport à sa date de sortie).

Tous les navigateurs récents supportent déjà l’ES6, et les frameworks majeurs (Angular 2, React…) utilisent tous cette nouvelle version de JavaScript.

Le futur de JavaScript

Maintenant que les contributeurs/rices à ce standard sont rodé/e/s, il y aura désormais une nouvelle version de JavaScript par an. C’est pourquoi la seconde appellation ES2015 est apparue et tend à s’imposer, car cela va désormais évoluer rapidement.

Nous en sommes actuellement à l’ES7 / ES2016. Mais cette version du standard n’apporte quasiment rien de nouveau par rapport à l’ES6, c’est pourquoi, pour simplifier les choses, vous verrez pour l’instant plus souvent parler encore de l’ES6 (comme par exemple dans l’intitulé de nos formations).

Cette évolution rapide ne doit pas faire peur, au contraire : elle a été mise en place pour s’adapter rapidement aux nouveaux besoins, en ajoutant quelques nouvelles fonctionnalités chaque année, plutôt que de devoir attendre des années avant l’élaboration d’un nouveau gros standard. Mais cela ne pose pas de problèmes de compatibilité : des outils comme TypeScript et Babel existent pour gérer cela.

Prendre de l’avance

Non seulement ces outils permettent de gérer la compatibilité, mais ils permettent aussi d’utiliser dès maintenant des fonctionnalités JavaScript à venir dans les prochains versions du standard ! C’est par exemple ce que fait Angular avec les décorateurs, et nous abordons entre autres les fonctions asynchrones dans nos formations, à venir dans l’ES8 / ES2017.

Formez-vous sans plus attendre à cette nouvelle version de JavaScript !