JavaScript fonctionnel
Paris Web'16
say('Hello world')
Alain Vagner
@biou
procrastination fonctionnelle
Vincent Lark
@allyouneedisgnu
function is undefined
Introduction
- Découverte de la prog. fonctionnelle
- Concepts basiques et exemples concrets
- Posez vos questions pendant l'atelier !
Warning
- Malgré les syntaxes évoluées des specs modernes...
- On utilisera ici ES5 / JS 1.8
- Vérifiez la compatibilité sur MDN ou caniuse.com !
Définition
Une méthode de programmation qui préfère l'utilisation de fonctions aux changements d'état.
À quoi ça sert?
- Moins d'effets de bords
- Plus maintenable
- Plus modulaire
- Plus robuste
Getting started
Functions as first class citizen
Fonctions d'ordre supérieur
Les fonctions peuvent être passées en paramètre
et/ou en retour d'autres fonctions.
Collections
Fonctions pures
&
Effets de bord
Fonctions pures
Une fonction pure est une fonction déterministe sans changements d'état.
Elle n'utilise que ses paramètres et ses variables locales.
Pour quoi faire ?
En gardant des fonctions pures, on évite les mutations, et donc les effets de bords.
La POO et la prog. fonctionnelle sont incompatibles ?
Composition
Application partielle de fonction
Concepts avancés
Ecosystème
Les libs
Le futur