DevoxxFr : Comprendre JavaScript

DevoxxFr : Comprendre JavaScript

A l’occasion de Devoxx FR, Thierry Chatel a proposé un atelier  sur “Comprendre enfin JS”.

Cette conférence fut celle qui m’a le plus apporté le premier jour de Devoxx. Autant dire que nous commencions tambour battant ce mercredi matin.

En quelques trois heures, Thierry Chatel nous a fait comprendre ou revisiter les fondements de JavaScript, de quoi se réconcilier vraiment avec un langage dont les concepts ou particularités exotiques ont sûrement rebuté une foule de développeurs au cours de son histoire.

Au programme

  • La syntaxe : notamment le recours au mode strict, qui amène plus de maîtrise lors du codage, ainsi que le scope par fonction.
  • Les types : autoboxing et comparaisons.
  • Les objets : les objets JS ne sont en fait que des maps (clé-valeur).
  • Les tableaux : ce sont des objets JS qui émulent le comportement d’un tableau et qui héritent de Array.prototype.
  • Les fonctions : avec la différence entre déclaration de fonction et expression de fonction
  • Appels de fonction, de différentes manières : fonction classique, méthode, constructeur, call / apply, closure, anonymous wrapper et pattern module.
  • Les opérateurs logiques
  • Les boucles : for, for…in et Array.forEach.
  • Les exceptions
  • Les patterns JS, avec entre autres : Duck Typing, Mixins, Configuration Object, Promesses.

 

Clojure JavaScript

 

Module JavaScript

 

JavaScript : tips & tricks

Ce parcours d’apprentissage accéléré aura été semé d’informations essentielles, de conseils tirés de l’expérience, de trucs & astuces, et bien sûr d’extraits de code à foison.

Par exemple, l’utilisation de la fonction Object.keys() a servi à observer les effets de diverses manipulations sur des objets dont des tableaux. Ou encore, la fonction max d’un tableau a été implémentée de 3 façons différentes, en utilisant tour à tour for, forEach et reduce. De son côté, l’implémentation de la fonction factoriel a permis de mettre en évidence la notion d’objet-fonction. Par ailleurs, les opérateurs binaires peuvent être détournés :

  • l’opérateur && pour tester l’existence d’un objet avant un appel de fonction,
  • l’opérateur || pour renvoyer une valeur par défaut.

 

Les nouveautés

Cette formation condensée aura aussi eu l’avantage de nous ouvrir aux nouveautés des normes EcmaScript 5 et 6, comme les sucres syntaxiques qui permettront d’émuler des concepts de l’Objet, ou encore les promesses qui intensifieront les possibilités en matière de programmation asynchrone. À l’évidence, ce langage a du potentiel, ce qui justifie par la même occasion son renouveau de ces dernières années au travers d’une offre pléthorique de frameworks front-end. À ce jour, les développements FullStack impliquent de plus en plus JavaScript comme choix technologique, avec bien souvent AngularJS comme comparse.

 

Pour passer à la pratique

Un détail qui a son importance et que j’apprécie tout particulièrement : Thierry Chatel a partagé en ligne le support de sa conférence en en donnant l’URL. À peine sortis de sa conférence pouvons-nous déjà y revenir, pour cette fois passer à la pratique.

 

Prochain article : Les Streams sont parmi nous de José Paumard

Leave a Reply

Your email address will not be published. Required fields are marked *