JavaScript Composition de la fonction


Exemple

Composer des fonctions multiples en une seule est une pratique courante de programmation fonctionnelle;

composition fait un pipeline à travers lequel nos données vont transiter et être modifiées simplement en travaillant sur la composition de la fonction (tout comme pour prendre des morceaux d'une piste ensemble) ...

vous commencez avec des fonctions à responsabilité unique:

6
 const capitalize = x => x.replace(/^\w/, m => m.toUpperCase());
 const sign = x => x + ',\nmade with love';

et créer facilement une piste de transformation:

6
 const formatText = compose(capitalize, sign);

 formatText('this is an example')
 //This is an example,
 //made with love

NB La composition est obtenue grâce à une fonction d'utilité généralement appelée compose comme dans notre exemple.

L'implémentation de compose est présente dans de nombreuses bibliothèques d'utilitaires JavaScript ( lodash , rambda , etc.) mais vous pouvez aussi commencer par une implémentation simple telle que:

6
 const compose = (...funs) =>
   x =>
   funs.reduce((ac, f) => f(ac), x);