Tout d'abord, vous devez comprendre ce que signifie la programmation fonctionnelle, c'est-à-dire quels sont les concepts fondamentaux et dans quelle mesure le langage vous permet d'adhérer à ces concepts. Pour la POO, les concepts fondamentaux sont l'encapsulation, l'héritage et le polymorphisme (ou simplement le passage de messages pour les petits parleurs). Pour le langage FP, le principe central est le suivant transparence référentielle (ce qui implique l'apatridie). Essayer de programmer dans un style fonctionnel dans un langage qui ne prend pas en charge les caractéristiques fonctionnelles (par exemple, les fonctions en tant qu'objets de première classe) sera difficile, voire impossible. Il en va de même pour la programmation en OOP dans des langages qui n'ont pas de fonctionnalités OOP.
Heureusement, Javascript est multi-paradigme et supporte les deux. Au lieu de chercher des exemples de code "fonctionnel", pensez simplement à toutes les façons dont vous pouvez assurer la transparence référentielle. naturellement conduire à l'utilisation des fonctionnalités FP du langage telles que les lambdas, les fermetures, les fonctions d'ordre supérieur (par exemple, map, reduce, filter), le curry, etc.
Sérieusement, il ne s'agit pas d'une non-réponse. Je pense vraiment que c'est la façon la plus motivante et la plus efficace de l'aborder.
Cela dit, voici quelques liens qui, je l'espère, seront utiles.
-
Programmation FP en JavaScript
-
Un guide des PF tout à fait adéquat