Composition de 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 comment combiner plusieurs fonctions pour créer une nouvelle fonction, et comment utiliser la fonction compose() pour effectuer une composition de fonctions de droite à gauche. Par des exemples pratiques et des exercices, nous acquerrons une compréhension plus approfondie de cette technique puissante et de ses applications pratiques en programmation.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28208{{"Composition de fonctions en JavaScript"}} javascript/data_types -.-> lab-28208{{"Composition de fonctions en JavaScript"}} javascript/arith_ops -.-> lab-28208{{"Composition de fonctions en JavaScript"}} javascript/comp_ops -.-> lab-28208{{"Composition de fonctions en JavaScript"}} javascript/higher_funcs -.-> lab-28208{{"Composition de fonctions en JavaScript"}} javascript/spread_rest -.-> lab-28208{{"Composition de fonctions en JavaScript"}} end

Comment composer des fonctions en JavaScript

Pour commencer à pratiquer la programmation en utilisant la composition de fonctions en JavaScript, ouvrez le Terminal/SSH et tapez node.

Voici un exemple de la manière de réaliser une composition de fonctions de droite à gauche en JavaScript :

  1. Utilisez Array.prototype.reduce() pour effectuer une composition de fonctions de droite à gauche.
  2. La dernière (la plus à droite) fonction peut accepter un ou plusieurs arguments ; les fonctions restantes doivent être unaires.
  3. Définissez la fonction compose qui prendra un nombre quelconque de fonctions en arguments et renverra une nouvelle fonction qui les compose.
  4. Appelez la fonction compose avec les fonctions souhaitées dans l'ordre souhaité.
  5. Appelez la nouvelle fonction composée avec tous les arguments nécessaires.
const compose = (...fns) =>
  fns.reduce(
    (f, g) =>
      (...args) =>
        f(g(...args))
  );

Par exemple, disons que nous avons deux fonctions :

const add5 = (x) => x + 5;
const multiply = (x, y) => x * y;

Nous pouvons composer ces fonctions en utilisant compose :

const multiplyAndAdd5 = compose(add5, multiply);

Maintenant, nous pouvons appeler multiplyAndAdd5 avec les arguments souhaités :

multiplyAndAdd5(5, 2); // 15

Sommaire

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