Babel 5.4.0 : test de la nouvelle syntaxe function bind
le transpilateur teste des propositions de ECMAScript 7
Babel est un transpileur ECMAScript 6. Il transforme votre code ES6 en code ES5. Ce qui signifie que vous pouvez commencer � utiliser d�s maintenant les nouvelles fonctionnalit�s du langage sans devoir attendre leur support par les navigateurs.
Babel sait compiler et traduire les �l�ments suivants :
- les raccourcis de fonction ;
- les fonctions asynchrones ;
- les classes ;
- la destructuration ;
- les d�corateurs ;
- let ;
- etc.
Mais Babel, c'est �galement une interaction avec d'autres outils JavaScript (ou non) comme React, NodeJS, Rails, Browserify. Etant compatible avec les principaux navigateurs, Babel peut �galement �tre �tendu par divers plugins.
Au cours des derniers mois, Babel a �t� bien accueilli dans plusieurs grandes communaut�s. On parlait de NodeJS, Rails et React mais nous pouvons �galement citer Ember, Backbone, AngularJS et bien d'autres. De plus, un int�r�t particulier a �t� montr� par Yahoo!, Atom, CloudFlare, etc. Notons par exemple son utilsation par Mozilla et Neflix.
L'�quipe a annonc� la sortie de la version 5.4.0.
Elle introduit la syntaxe exp�rimentale du function bind avec le nouvel op�rateur :: qui ex�cute la liaison de fonction et l'extraction de m�thode. C'est l'utilisation d'une biblioth�que d'it�ration impl�ment�e en tant que m�thodes virtuelles :
Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13 /* ES7 */ // Create bindings for just the methods that we need let { find, html } = jake; // Find all the divs with class="myClass", then get all of the // "p"s and replace their content. document.querySelectorAll("div.myClass")::find("p")::html("hahaha"); /* ES6 */ let _val; _val = document.querySelectorAll("div.myClass"); _val = find.call(_val, "p"); _val = html.call(_val, "hahaha");
C'est �galement l'affichage de la valeur �ventuelle d'une promise sur la console :
Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 /* ES7 */ Promise.resolve(123).then(::console.log); /* ES6 */ Promise.resolve(123).then(console.log.bind(console));
C'est aussi l'utilisation de l'extraction pour appeler une m�thode d'objet lorsque survient un �v�nement DOM :
Code javascript : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 /* ES7 */ $(".some-link").on("click", ::view.reset); /* ES6 */ $(".some-link").on("click", view.reset.bind(view));
Attention, cette syntaxe est exp�rimentale et ne doit pas �tre utilis�e pour faire quelque chose d'important. Vous trouverez de plus amples informations ici.
D'apr�s un article sur le blog officiel.
Partager