Inverser les arguments de fonction

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 renversement des arguments d'une fonction en JavaScript. Nous allons apprendre à prendre une fonction en tant qu'argument et à réorganiser les arguments de sorte que le premier argument devienne le dernier. Grâce à cet exercice, nous comprendrons mieux la déstructuration d'arguments, les fermetures et les arguments variadiques en 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/BasicConceptsGroup -.-> javascript/functions("Functions") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28313{{"Inverser les arguments de fonction"}} javascript/data_types -.-> lab-28313{{"Inverser les arguments de fonction"}} javascript/arith_ops -.-> lab-28313{{"Inverser les arguments de fonction"}} javascript/comp_ops -.-> lab-28313{{"Inverser les arguments de fonction"}} javascript/functions -.-> lab-28313{{"Inverser les arguments de fonction"}} javascript/spread_rest -.-> lab-28313{{"Inverser les arguments de fonction"}} end

Reorder Function Arguments with Flip

Pour inverser l'ordre des arguments d'une fonction, utilisez la fonction flip. Cette fonction prend une fonction en argument et renvoie une nouvelle fonction qui inverse le premier et le dernier argument.

Pour implémenter flip :

  • Utilisez la déstructuration d'arguments et une fermeture avec des arguments variadiques.
  • Utilisez l'opérateur de propagation (...) pour insérer le premier argument en dernier avant d'appliquer le reste.
const flip =
  (fn) =>
  (first, ...rest) =>
    fn(...rest, first);

Voici un exemple de l'utilisation de flip pour inverser les arguments de Object.assign :

let a = { name: "John Smith" };
let b = {};

// Crée une nouvelle fonction qui inverse les arguments de Object.assign
const mergeFrom = flip(Object.assign);

// Crée une nouvelle fonction qui lie le premier argument à a
let mergePerson = mergeFrom.bind(null, a);

// Appelle la nouvelle fonction avec b comme deuxième argument
mergePerson(b); // b est maintenant égal à a

// Alternativement, fusionnez a et b sans utiliser la nouvelle fonction
b = {};
Object.assign(b, a); // b est maintenant égal à a

Summary

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