JavaScript, les bons éléments, façon 2020 : les classes, ou comment faire des objets structurés

Rebienvenue dans un nouvel article de blog. Aujourd’hui, on va parler d’une des plus grosses nouveautés de ces dernières années dans le JavaScript.

Et pourtant, celle-ci ne révolutionne rien ! Hormis une (énorme) subtilité, tout ce qu’on va voir était possible avant en JavaScript, sans avoir besoin de n’importe quelle structure.

…Attendez, ne partez pas ! Les classes font en fait office de sucre syntaxique, c’est à dire qu’elles rendent plus joli et plus clair des parties de code.

Continuer la lecture de « JavaScript, les bons éléments, façon 2020 : les classes, ou comment faire des objets structurés »

JavaScript, les bons éléments, façon 2020 : fetch, remplaçant de XMLHttpRequest

Aujourd’hui, le dialogue client-serveur après que la page soit chargée est au centre du JavaScript moderne.

C’est même la raison principale de la poussée de l’asynchronicité partout, au coeur du langage : on a besoin de faire des requêtes, tout le temps, et de ne pas bloquer le navigateur/le script pendant que celles-ci se fassent.

Continuer la lecture de « JavaScript, les bons éléments, façon 2020 : fetch, remplaçant de XMLHttpRequest »

JavaScript, les bons éléments, façon 2020 : L’asynchonicité

On est là sur le coeur du JavaScript moderne.

Franchement, que ferait-on en 2020 sans l’asynchronicité en JavaScript ? Au centre du langage depuis sa plus tendre enfance naissance, l’asynchronicité est un concept permettant de décrire une action, mais de ne pas l’effectuer tout de suite. Elle se fera… quand elle aura le temps. Ou quand le moment opportun sera venu.

Continuer la lecture de « JavaScript, les bons éléments, façon 2020 : L’asynchonicité »

JavaScript, les bons éléments, façon 2020 : Ajouts syntaxiques

Au fur et à mesure des années, surtout depuis ES6, de nombreuses petites choses ont été ajoutées à JavaScript qui rendent le code plus joli, plus naturel, mais qui ne révolutionnent pas directement l’écriture : Mises toutes ensembles avec les autres fonctionnalités, elles font néanmoins de JavaScript un langage plus puissant.

Continuer la lecture de « JavaScript, les bons éléments, façon 2020 : Ajouts syntaxiques »

JavaScript, les bons éléments, façon 2020 : Fonctions fléchées, paramètres par défaut

L’ES6, en 2015, a été le symbole de beaucoup de choses, et les fonctions en ont fait partie.

Trois nouveautés majeures ont été dévoilées et intégrées dans la spécification cette année là : les paramètres variadiques, la possibilité d’avoir des valeurs par défaut et une troisième, les fonctions fléchées, qui sont un peu plus qu’un changement de syntaxe.

Continuer la lecture de « JavaScript, les bons éléments, façon 2020 : Fonctions fléchées, paramètres par défaut »

JavaScript, les bons éléments, façon 2020 : Des tableaux boostés

On vient juste de parler des itérateurs, il est donc temps d’enchaîner avec la prochaine partie qui reste dans le domaine des tableaux : l’ensemble des nouvelles méthodes qui leur sont ajoutés.

Pendant assez longtemps, manipuler des tableaux, c’est à dire trouver/copier/réduire dans un tableau se limitait à une boucle for et, de manière optionnelle, un appel à .slice() pour copier le tableau.

Ce temps là est révolu ! Bienvenue dans le JavaScript qui embrasse ses fonctions lambdas, le JavaScript qui puise sa force de son côté fonctionnel.

On a déjà évoqué la "nouvelle" méthode .forEach() (2009 quand même), mais elle n’est pas seule : Un set de méthodes très puissantes ont été progressivement ajoutées à JS ces 12 dernières années.

Continuer la lecture de « JavaScript, les bons éléments, façon 2020 : Des tableaux boostés »

JavaScript, les bons éléments, façon 2020 : Déstructuration, itérateurs et générateurs

JavaScript, comme de très nombreux langages, est centré autour de l’itération : de tableaux comme de propriétés d’objets.

Les différents types de boucles

Je sais pas si vous avez remarqué, mais JavaScript proposait dès sa version originale un nombre conséquent de structures de contrôles liées à l’itération : while, do-while, for classique et for in.

L’ensemble des solutions proposées permettaient de manipuler les structures du langages.

Continuer la lecture de « JavaScript, les bons éléments, façon 2020 : Déstructuration, itérateurs et générateurs »

JavaScript, les bons éléments, façon 2020 : Des objets plus puissants

Avec l’ES5 (2009) puis les mises à jour suivantes, JavaScript a gagné en librarie standard, notamment sur sa primitive la plus… primitive : les objets.

Espaces de stockage clé > valeur très rapides, leur manipulation était néanmoins pénible : aucune propriété de base pour compter le nombre de propriétés, pas d’accesseurs pour accéder aux clés (héritées ou non, n’oublions pas que les objets peuvent avoir de l’héritage via leur prototype), ni aux valeurs.

De plus, il est parfois pertinent de copier des objets rapidement, ou au contraire de les sceller (c’est à dire d’empêcher d’ajouter de nouvelles propriétés).

Continuer la lecture de « JavaScript, les bons éléments, façon 2020 : Des objets plus puissants »

JavaScript, les bons éléments, façon 2020 : Modules

Le cas Node.js

Revenons à notre année 2009. On l’a vu dans la partie précédente, JavaScript ne disposait pas de modules à cette époque.

Pourquoi elle ? Déjà, c’est la sortie de l’ES5, standardisation de l’objet global JSON, méthodes .map() et .filter() sur les tableaux, String.trim(), strict mode, getters et setters… Le JavaScript devient un langage plus puissant. 2009, c’est juste après la sortie de Google Chrome, équipé d’un moteur JavaScript dérivé de celui de Safari, nommé V8.

Continuer la lecture de « JavaScript, les bons éléments, façon 2020 : Modules »