Bienvenue JavaScript 2.0

JavaScript domine le web et ECMAScript, le cœur du langage, arrive à maturité. La nouvelle spécification (ES6 ou JS2), attendue pour le milieu de l'année, apporte de nombreuses innovations déjà testables. Firefox offre actuellement la meilleure prise en charge , mais des polyfills via des transpileurs comme Google Traceur sont également possibles. Voici un bref aperçu des nouvelles fonctionnalités d'ES6.


Le nouveau mot - clé let fait beaucoup de choses mieux que var : Scoping se comporte maintenant exactement comme dans les autres langages (C / C ++, Java), c'est pourquoi les if-blocks ont maintenant aussi leur propre portée. Le levage, c'est-à-dire la mise en avant des déclarations de variables (pas d'attributions de valeurs) dans le périmètre respectif est également réparé:

console.log(x);
var x = 'foo'; 
// undefined

console.log(y);
let y = 'bar';
// not initialized

La liste des autres innovations est longue : constantes (const), valeurs par défaut pour les fonctions (function pow(a,b=2) { return Math.pow(a,b); }), une nouvelle notation pour les fonctions (let pow = (a,b=2) => Math.pow(a,b);), une multitude de nouvelles fonctions (repeat(), contains(), startsWith(), find(), findIndex()), la nouvelle construction de boucle pour ... de.

Il convient également de mentionner les nouveaux types de données Set, Map, Proxy et Symbol, la possibilité d'importer (des parties d'autres) fichiers JavaScript grâce à `import`, ainsi qu'une nouvelle syntaxe intuitive pour les classes et l'héritage. Cependant, ce sont souvent les petites fonctionnalités tant attendues, comme la possibilité d'insérer des sauts de ligne dans les chaînes de caractères (notez les guillemets spéciaux), qui font toute la différence.:

`foo

bar`

JavaScript est depuis longtemps bien plus qu'un simple outil pour des astuces web mineures : il sert à créer des applications web puissantes et performantes, aussi performantes que leurs homologues de bureau. Grâce à la multitude de nouvelles fonctionnalités utiles et à la prise en charge existante d'ES6, programmer est deux fois plus agréable.

Qui n'a pas toujours voulu vérifier l'égalité de deux nombres à l'aide de la nouvelle constante Number.EPSILON , dont la valeur porte la différence entre 1 et la valeur à virgule flottante immédiatement supérieure?

let cmp = (a,b) => Math.abs(a-b) < Number.EPSILON;
Retour