Depuis que EcmaScript6 (ou 2015), le nouveau standard pour l’implémentation de JS, est plus ou moins sur les rails, je regarde les conférences qui y sont dédiés et les différents articles qui parlent de ses nouveautés. Mais pour aller un peu plus loin et s’approprier ces nouvelles syntaxes et techniques, j’ai mis la main à la pâte. Première chose : comment utiliser les éléments et syntaxe ES6 aujourd’hui ? Avant de parler des nouveaux trucs intéressants, parlons du support.

Un support encore faible

C’est un point négatif, c’est indéniable. Voici un tableau pour voir rapidement où on en est du support d’ES6. C’est pas brillant, et les moins courageux diront qu’on a qu’à attendre pour s’y mettre, le temps que tout soit mieux implémenté.

Ça se tient, mais quand la plupart des acteurs de l’industrie seront passés à ce nouveau standard, il sera certainement un peu tard pour s’y mettre. D’ailleurs, en tenant cet argument en 2016, il y a fort à parier qu’on découvrirait tout juste HTML et CSS3.

Côté front : Babel

C’est d’autant moins valable que comme à chaque fois dans cette situation, des solutions viennent contourner/résoudre le problème. Effectivement, vous pouvez utiliser ES6 dès aujourd’hui dans vos projets front avec Babel, que vous pouvez glisser dans votre outil de build préféré (via un module Gulp/Webpack/Browserify par exemple) pour réécrire le code de façon à le rendre compatible ES5.

Babel peut s’intégrer sous d’autres formes, notamment un appel vers un CDN qui, sauf pour tests maison vite fait, ne sera jamais une bonne solution.

Il faut quand même noter qu’hormis Internet Explorer, les navigateurs, dans leurs versions les plus récentes supportent plutôt bien ces fonctionnalités et qu’il serait dommage de s’en priver.

Côté back et mobile

Le support côté back, via des technologies comme Node par exemple s’en sortent pas trop mal. Node 5 et + supporte la moitié des éléments d’ES6 et tend à chaque version vers une prise en charge plus importante.

Pour les plus impatients, il existe io.js, fork de Node qui implémente la norme ES6.

Autre exemple, React Native embarque Babel, donc pour vos apps mobiles natives avec JS, ne vous en priver pas.

Pour se mettre à ES6 aujourd’hui, le support ne pose pas une vraie difficulté finalement, avec Babel comme solution « en attendant ». La prochaine fois j’ai préparé un petit résumé des apports d’ES6, parce que bon, il y a des choses qui vont vraiment nous faire gagner en temps et en lisibilité.