La programmation fonctionnelle est un paradigme de programmation qui traite le calcul comme une évaluation de fonctions mathématiques et évite les changements d'état et les données mutables. En JavaScript, cela est facilité par le fait que les fonctions sont des objets de première classe, ce qui signifie qu'elles peuvent être transmises comme arguments à d'autres fonctions, renvoyées sous forme de valeurs d'autres fonctions et affectées à des variables.

La programmation fonctionnelle en JavaScript implique généralement l'utilisation de fonctions pures, qui sont des fonctions qui donnent le même résultat pour les mêmes arguments et n'ont aucun effet secondaire. Cela signifie qu'ils ne modifient aucun état ou variable en dehors de la fonction. Cela rend son comportement prévisible et facile à tester.

Par exemple, considérons la fonction pure suivante :

fonction somme(a, b) {
    renvoyer a + b ;
}

Cette fonction retournera toujours le même résultat pour les mêmes arguments et ne modifiera aucun état externe.

Un autre concept important en programmation fonctionnelle est l'immuabilité, qui est l'idée selon laquelle une fois qu'une variable est créée, sa valeur ne peut pas être modifiée. Au lieu de cela, toute modification apportée à une variable entraînera la création d’une nouvelle variable. Ceci est utile pour éviter les effets secondaires et rendre le code plus prévisible.

soit a = 1 ;
soit b = a + 1 ; // b vaut maintenant 2, mais a vaut toujours 1

Les fonctions d'ordre supérieur constituent un autre pilier de la programmation fonctionnelle. Ce sont des fonctions qui opèrent sur d'autres fonctions, soit en les prenant comme arguments, soit en les renvoyant comme résultat. En JavaScript, les fonctions d'ordre élevé sont couramment utilisées avec les méthodes de tableau telles que map, filter et réduire.

soit les nombres = [1, 2, 3, 4, 5] ;

soit doublé = nombres.map(fonction(n) {
    renvoyer n * 2 ;
}); // [2, 4, 6, 8, 10]

laissez les paires = nombres.filter(fonction(n) {
    retourner n % 2 === 0 ;
}); // [2, 4]

soit somme = nombres.reduce(fonction(total, n) {
    retourner total + n ;
}, 0); // 15

L'utilisation de fonctions d'ordre supérieur comme celles-ci peut rendre le code plus concis et plus lisible.

Enfin, la composition des fonctions est une autre technique courante en programmation fonctionnelle. Cela implique de créer des fonctions complexes en combinant des fonctions plus simples. En JavaScript, cela peut être fait à l'aide de la fonction compose, qui peut être implémentée comme :

fonction composer(f, g) {
    fonction de retour (x) {
        retourner f(g(x));
    } ;
}

Avec cette fonction, vous pouvez créer de nouvelles fonctions en combinant d'autres fonctions. Par exemple, vous pouvez créer une fonction pour doubler puis ajouter 1 à un nombre :

letfoldEAdd1 = composer(function(n) { return n + 1; }, function(n) { return n * 2; });

FoldAndAdd1(4); // 9

En résumé, la programmation fonctionnelle est un paradigme puissant qui peut rendre le code plus prévisible, plus facile à tester et à comprendre. Même si cela peut être un peu différent de ce à quoi vous êtes habitué si vous venez d'un environnement impératif ou orienté objet, cela vaut la peine de l'apprendre et de l'utiliser dans votre code JavaScript.

Répondez maintenant à l’exercice sur le contenu :

Lequel des concepts suivants n’est PAS un pilier de la programmation fonctionnelle en JavaScript ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Image de l'article Programmation réactive avec RxJS 108

Page suivante de lebook gratuit :

Programmation réactive avec RxJS

Temps de lecture estimé : 0 minutes

Téléchargez l'application pour obtenir une certification gratuite et écouter des cours en arrière-plan, même avec l'écran éteint.

+ 9 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

60 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours vidéo et livres
audio gratuits