JavaScript-Currying Techniken

JavaScriptJavaScriptBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir das Konzept des Currying in JavaScript erkunden. Currying ist eine Technik, die uns ermöglicht, eine Funktion, die mehrere Argumente annimmt, in eine Sequenz von Funktionen umzuwandeln, von denen jede nur ein einzelnes Argument annimmt. Durch dieses Lab werden Sie ein tieferes Verständnis dafür erlangen, wie Currying funktioniert und wie es in Ihrem JavaScript-Code angewendet werden kann.


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/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28233{{"JavaScript-Currying Techniken"}} javascript/data_types -.-> lab-28233{{"JavaScript-Currying Techniken"}} javascript/arith_ops -.-> lab-28233{{"JavaScript-Currying Techniken"}} javascript/comp_ops -.-> lab-28233{{"JavaScript-Currying Techniken"}} javascript/spread_rest -.-> lab-28233{{"JavaScript-Currying Techniken"}} end

Ein Funktionsargument kümmern

Um eine Funktion zu kümmern, folgen Sie diesen Schritten:

  1. Öffnen Sie das Terminal/SSH und geben Sie node ein, um mit der Codeausführung zu beginnen.
  2. Verwenden Sie Rekursion.
  3. Überprüfen Sie, ob die Anzahl der bereitgestellten Argumente (args) ausreicht.
  4. Wenn ja, rufen Sie die übergebene Funktion fn auf.
  5. Wenn nicht, verwenden Sie Function.prototype.bind(), um eine gekümmerte Funktion fn zurückzugeben, die die restlichen Argumente erwartet.
  6. Wenn Sie eine Funktion kümmern möchten, die eine variable Anzahl von Argumenten akzeptiert (eine variadische Funktion, z.B. Math.min()), können Sie optional die Anzahl der Argumente als zweites Parameter arity übergeben.
  7. Verwenden Sie folgenden Code:
const curry = (fn, arity = fn.length, ...args) =>
  arity <= args.length ? fn(...args) : curry.bind(null, fn, arity, ...args);

Hier sind einige Beispiele:

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

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Curry Function" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.