Heim > Web-Frontend > js-Tutorial > Hauptteil

Javascript Essentials: Funktionen höherer Ordnung, Currying und Teilanwendung

Mary-Kate Olsen
Freigeben: 2024-11-03 11:49:29
Original
742 Leute haben es durchsucht

Javascript Essentials : Higher-Order Functions, Currying, and Partial Application

JavaScript Essentials 101: Funktionen höherer Ordnung, Currying und Teilanwendung

Einführung

Willkommen bei JavaScript Essentials 101, einer Serie, die erstellt wurde, um die Kerngrundlagen von JavaScript aufzudecken, die jeder Entwickler kennen sollte. Wir konzentrieren uns nicht auf trendige Funktionen, sondern auf grundlegende Konzepte – Techniken und Strukturen, die von Anfang an Teil von JavaScript waren und für das Schreiben von sauberem, effektivem Code unerlässlich sind. Auch wenn diese Konzepte fortgeschritten klingen, betrachten Sie sie als Teil der Kern-DNA von JavaScript, als Tools, die Ihre Fähigkeit zur Problemlösung verbessern, Ihre Interviewleistung verbessern und die Codepflege vereinfachen.

Warum das wichtig ist

Vielleicht haben Sie noch nichts von Funktionen höherer Ordnung, Currying oder Teilanwendung gehört, aber es handelt sich um wesentliche Konzepte, die eine effizientere und wiederverwendbare Wirkung ermöglichen und skalierbarer Code. Egal, ob Sie mit Datentransformationen arbeiten, Funktionsaufrufe optimieren oder mit komplexer Logik umgehen, diese Tools sind der Schlüssel zum Verständnis der funktionalen Seite von JavaScript.

Lassen Sie uns anhand von Beispielen in diese Techniken eintauchen, die zeigen, wie praktisch und wirkungsvoll sie sind.


Funktionen höherer Ordnung

Eine Funktion höherer Ordnung ist jede Funktion, die entweder eine andere Funktion als Argument annimmt oder eine Funktion als Ergebnis zurückgibt. Diese sind ein wesentlicher Bestandteil von JavaScript, da sie funktionale Programmiertechniken ermöglichen und die Datenmanipulation sauberer und intuitiver machen.

Beispiel: Schauen wir uns drei Funktionen höherer Ordnung zum Zuordnen, Filtern und Reduzieren an, die Arrays mit prägnanter Syntax transformieren:

const numbers = [1, 2, 3, 4, 5];

// Using map to double each number
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8, 10]

// Using filter to get even numbers
const evens = numbers.filter(num => num % 2 === 0);
console.log(evens); // [2, 4]

// Using reduce to sum up all numbers
const sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 15
Nach dem Login kopieren
Nach dem Login kopieren

Curry

Currying wandelt eine Funktion mit mehreren Argumenten in eine Folge von Funktionen um, die jeweils ein einzelnes Argument annehmen. Es ist leistungsstark, um komplexe Vorgänge in überschaubare Teile zu zerlegen und so Ihre Funktionen wiederverwendbar zu machen.

Beispiel: Hier ist eine Curry-Zugabefunktion:

const add = a => b => a + b;
const addFive = add(5);

console.log(addFive(3)); // 8
console.log(addFive(10)); // 15
Nach dem Login kopieren

Mit Currying erstellen wir aus add eine wiederverwendbare addFive-Funktion. Dieser modulare Ansatz ermöglicht es Ihnen, addFive überall in Ihrem Code zu verwenden, wo diese spezifische Berechnung erforderlich ist.

Teilanwendung

Teilweise Anwendung ist wie Currying, aber Sie können damit einige Argumente einer Funktion vorab ausfüllen, während der Rest dynamisch bleibt. Dies kann bei sich wiederholenden Aufgaben mit festen Parametern von entscheidender Bedeutung sein.

Beispiel: Wenden wir einen Steuersatz von 20 % auf verschiedene Preise an:

const numbers = [1, 2, 3, 4, 5];

// Using map to double each number
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8, 10]

// Using filter to get even numbers
const evens = numbers.filter(num => num % 2 === 0);
console.log(evens); // [2, 4]

// Using reduce to sum up all numbers
const sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 15
Nach dem Login kopieren
Nach dem Login kopieren

Mit applyVAT können Sie hier schnell Preise mit einem festen Steuersatz berechnen und so den Code übersichtlich und lesbar halten.


Abschluss

Diese „erweiterten“ Funktionen mögen ungewohnt erscheinen, aber sie sind wesentliche Werkzeuge, um die Fähigkeiten von JavaScript zu beherrschen. Wenn Sie Funktionen höherer Ordnung, Currying und Teilanwendungen verstehen, schreiben Sie saubereren, effizienteren Code, der einfacher zu testen und zu warten ist. Im nächsten Kapitel werden wir diese Konzepte weiter ausbauen und nach und nach das volle Potenzial von JavaScript erschließen. Bleiben Sie dran – Sie investieren in die Grundlagen, die Ihre Fähigkeiten und Ihr Selbstvertrauen als Entwickler stärken.

Das obige ist der detaillierte Inhalt vonJavascript Essentials: Funktionen höherer Ordnung, Currying und Teilanwendung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage