Javascript

  • Javascript

    ES6 : les objets

    On va voir bientôt que la principale avancée de ES6 au niveau des objets est l’arrivée de la syntaxe des classes. Mais avant d’aborder ce sujet on va commencer par voir quelques nouvelles possibilités pour les objets. Les initialisateurs d’objets (objets littéraux) Simplification pour les propriétés Vous utilisez sans doute beaucoup d’initialisateurs d’objets de ce genre : let identite = { nom: "Durand", prenom: "Louis", caracteristiques: { age: 20, poids: 75 } }; C’est une syntaxe simple et rapide. Avec ES6 vous pouvez initialiser les propriétés avec des variables existantes : let nom = "Durand"; let prenom = "Louis"; let age = 20; let poids = 75; let identite = { nom,…

  • Javascript

    ES6 : les fonctions

    Les fonctions sont les pièces maîtresses de JavaScript, à tel point qu’il existe même une programmation fonctionnelle. Dans ce chapitre on va voir les nouveautés de ES6 pour les fonctions : noms, portée et fonctions fléchées. Le nom des fonctions Il est souvent utile de connaître le nom d’une fonction, ne serait-ce que lorsqu’on débogue du code. Avec ES5 il existe une propriété name qui contient ce nom (mais pas pris en charge par tous les moteurs) : function toto() {function toto() {}; var titi = function() {}; console.log(toto.name); // toto console.log(titi.name); // titi Quel est le nom d’une fonction anonyme ? Par principe elle n’en a justement aucun parce…

  • Javascript

    ES6 : les paramètres des fonctions

    Gérer des valeurs par défaut pour les paramètres des fonctions avec ES5 n’est pas prévu et il faut s’en sortir avec des astuces. D’autre part que se passe-t-il quand on veut passer plus de paramètres que prévu par la fonction ? Là aussi avec ES5 on doit recourir à certaines stratégies assez lourdes. On va voir que ES6 résout avec élégance ces deux problèmes. Les valeurs par défaut des paramètres Une valeur par défaut ES5 ne prévoit pas de valeur par défaut pour un paramètre absent, alors il faut s’en sortir autrement, une manière de faire est celle-ci : function ajoute(a, b) { b = b || 10; return a +…

  • Javascript

    ES6 : les variables

    La portée des variables en JavaScript peut surprendre lorsqu’on est habitué à d’autres langages. Dans ce chapitre on va faire un peu le point en montrant ce qu’apporte ES6 à ce niveau avec l’introduction des mots-clés let et const. Déclaration avec « var » Portée des variables Avec ES5 on dispose du mot-clé var pour déclarer les variables. Selon où on fait la déclaration la variable n’a pas la même portée : déclaration en dehors d’une fonction : portée globale, donc disponible partout, déclaration dans une fonction : portée locale donc disponible uniquement dans la fonction. Jusque là tout semble pour le mieux dans le meilleur des mondes informatiques mais… Si on déclare…

  • Javascript

    ES6 : les chaînes de caractères

    Il est rare d’écrire un programme sans utiliser et manipuler des chaînes de caractères. On va voir dans ce chapitre les nouvelles possibilités de ES6 dans ce domaine. Les littéraux de gabarits (template literals) Un littéral de gabarit est une chaîne de caractères qui peut inclure des expressions, des interpolations, et qui peut s’écrire sur plusieurs lignes. Bon… après cette définition un peu abrupte vite des exemples ! La syntaxe de base A première vue un littéral de gabarit se présente comme une chaîne classique avec la différence que les délimiteurs sont des accents graves (backsticks) : var message = `ma chaîne de caractères`; console.log(message); console.log(typeof message); console.log(message.length); Il existe…