Vous avez envie de tester les nouvelles features de PHP un peu en avance par rapport à tout le monde ?
Voici un rapide tuto pour installer PHP 8 depuis la source (GitHub), très simplement ; que ce soit pour macOS ou des dérivés de Debian (comme Ubuntu). Juste après ça, c’est parti pour tester rapidement toutes les features de PHP 😀
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.
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.
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.
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.
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.
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.
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.
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).
JavaScript, les bons éléments, façon 2020 : let, const, Map et Set
Les mots-clés let et const
Un besoin de block-scoping
On l’avait vu, en JavaScript, on déclarait des variables avec var
.
Celles-ci étaient function-scopées, c’est à dire qu’une déclaration était valide au niveau d’une fonction.