JavaScript-Currying Techniken

Beginner

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

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.

Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 100% ist. Es hat eine positive Bewertungsrate von 100% von den Lernenden erhalten.

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.