Techniques de currying 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 currying en JavaScript. Le currying est une technique qui nous permet de transformer une fonction qui prend plusieurs arguments en une séquence de fonctions qui prennent chacun un seul argument. Grâce à ce laboratoire, vous comprendrez mieux comment le currying fonctionne et comment il peut être appliqué dans votre code JavaScript.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic 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/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28233{{"Techniques de currying en JavaScript"}} javascript/data_types -.-> lab-28233{{"Techniques de currying en JavaScript"}} javascript/arith_ops -.-> lab-28233{{"Techniques de currying en JavaScript"}} javascript/comp_ops -.-> lab-28233{{"Techniques de currying en JavaScript"}} javascript/spread_rest -.-> lab-28233{{"Techniques de currying en JavaScript"}} end

Currying d'une fonction

Pour effectuer le currying d'une fonction, suivez ces étapes :

  1. Ouvrez le Terminal/SSH et tapez node pour commencer à pratiquer le codage.
  2. Utilisez la récursivité.
  3. Vérifiez si le nombre d'arguments fournis (args) est suffisant.
  4. Si c'est le cas, appelez la fonction passée fn.
  5. Si ce n'est pas le cas, utilisez Function.prototype.bind() pour retourner une fonction curryée fn qui attend le reste des arguments.
  6. Si vous voulez effectuer le currying d'une fonction qui accepte un nombre variable d'arguments (une fonction variadique, par exemple Math.min()), vous pouvez optionnellement passer le nombre d'arguments au deuxième paramètre arity.
  7. Utilisez le code suivant :
const curry = (fn, arity = fn.length, ...args) =>
  arity <= args.length ? fn(...args) : curry.bind(null, fn, arity, ...args);

Voici quelques exemples :

curry(Math.pow)(2)(10); // 1024
curry(Math.min, 3)(10)(50)(2); // 2

Résumé

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