Composer efficacement des fonctions en JavaScript

JavaScriptJavaScriptBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons explorer le concept de composition de fonctions en JavaScript. Nous apprendrons à combiner plusieurs fonctions en une seule fonction qui effectue une séquence d'opérations dans un ordre de gauche à droite. En utilisant la fonction pipeFunctions, nous découvrirons les avantages de la composition de fonctions et comment elle peut simplifier notre code et le rendre plus lisible.

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau débutant avec un taux de réussite de 100%. Il a reçu un taux d'avis positifs de 100% de la part des apprenants.

Composition de fonctions avec des tuyaux

Pour commencer à pratiquer le codage avec des tuyaux, ouvrez le Terminal/SSH et tapez node.

La fonction pipeFunctions effectue une composition de fonctions de gauche à droite en utilisant Array.prototype.reduce() avec l'opérateur de propagation (...). La première (la plus à gauche) fonction peut accepter un ou plusieurs arguments, tandis que les fonctions suivantes doivent être unaire.

const pipeFunctions = (...fns) =>
  fns.reduce(
    (f, g) =>
      (...args) =>
        g(f(...args))
  );

Voici un exemple de manière à utiliser pipeFunctions pour créer une nouvelle fonction multiplyAndAdd5 qui multiplie deux nombres puis ajoute 5 au résultat :

const add5 = (x) => x + 5;
const multiply = (x, y) => x * y;
const multiplyAndAdd5 = pipeFunctions(multiply, add5);
multiplyAndAdd5(5, 2); // 15

Dans cet exemple, multiplyAndAdd5 est une nouvelle fonction qui prend deux arguments, 5 et 2, et applique d'abord multiply à eux, ce qui donne 10, puis applique add5 au résultat, ce qui donne 15.

Sommaire

Félicitations ! Vous avez terminé le laboratoire sur les fonctions de tuyau. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.