Techniques de currying en JavaScript

Beginner

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

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.

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.

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.