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.
Currying d'une fonction
Pour effectuer le currying d'une fonction, suivez ces étapes :
- Ouvrez le Terminal/SSH et tapez
nodepour commencer à pratiquer le codage. - Utilisez la récursivité.
- Vérifiez si le nombre d'arguments fournis (
args) est suffisant. - Si c'est le cas, appelez la fonction passée
fn. - Si ce n'est pas le cas, utilisez
Function.prototype.bind()pour retourner une fonction curryéefnqui attend le reste des arguments. - 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ètrearity. - 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.
