0Pricing
JavaScript Academy · Lektion

Partielle Anwendung

Fixieren Sie einige Argumente und verwenden Sie Funktionen wieder.

Partielle Anwendung ist eine kostenlose JavaScript Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des JavaScript Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der JavaScript Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist partielle Anwendung

Partielle Anwendung bedeutet, eine Funktion, die mehrere Argumente benötigt, zu nehmen und einige davon im Voraus festzulegen. Dadurch entsteht eine neue Funktion, die nur noch die übrigen Argumente benötigt.

So können Sie aus allgemeinen Funktionen spezialisierte Funktionen erstellen. Aus einem allgemeinen multiply(a, b) kann durch Festlegen von a = 2 ein spezialisiertes double(b) werden.

Eine Funktion mit vielen Argumenten

Beginnen Sie mit einer vielseitig einsetzbaren Funktion. Hier nimmt add drei Zahlen entgegen. Häufig rufen Sie sie immer wieder mit demselben ersten Argument auf.

function add(a, b, c) {
  return a + b + c;
}

console.log(add(1, 2, 3));
console.log(add(1, 10, 100));

Argumente manuell festlegen

Die einfachste Form der partiellen Anwendung ist eine Wrapper-Funktion, die ein Argument fest einträgt und die übrigen weitergibt.

function add(a, b, c) {
  return a + b + c;
}

function addTen(b, c) {
  return add(10, b, c);
}

console.log(addTen(2, 3));
console.log(addTen(20, 30));

Partielle Anwendung mit bind

Function.prototype.bind wurde genau dafür entwickelt. Sein erstes Argument legt this fest; jedes danach angegebene Argument wird von links ausgehend vorab eingesetzt.

Übergeben Sie null für this, wenn dessen Wert keine Rolle spielt.

function add(a, b, c) {
  return a + b + c;
}

const addTen = add.bind(null, 10);

console.log(addTen(2, 3));
console.log(addTen(20, 30));

Mehr als ein Argument binden

Sie können mehrere führende Argumente gleichzeitig festlegen. Die zurückgegebene Funktion übernimmt alles, was übrig bleibt.

function add(a, b, c) {
  return a + b + c;
}

const addElevenAndTwo = add.bind(null, 11, 2);

console.log(addElevenAndTwo(7));
console.log(addElevenAndTwo(100));

Eine wiederverwendbare partial-Hilfsfunktion

Sie können Ihre eigene partial-Hilfsfunktion schreiben, die voreingestellte Argumente mit dem Rest-Parameter erfasst und sie mithilfe von Spread mit den später übergebenen Argumenten zusammenführt.

function partial(fn, ...preset) {
  return function (...later) {
    return fn(...preset, ...later);
  };
}

function greet(greeting, name) {
  return greeting + ', ' + name + '!';
}

const sayHello = partial(greet, 'Hello');
console.log(sayHello('Ada'));
console.log(sayHello('Linus'));

Allgemeine Funktionen spezialisieren

Partielle Anwendung spielt ihre Stärke aus, wenn aus einer allgemeinen Funktion viele kleine, verständliche Spezialisierungen entstehen.

function multiply(a, b) {
  return a * b;
}

const double = multiply.bind(null, 2);
const triple = multiply.bind(null, 3);

console.log(double(5));
console.log(triple(5));

Partielle Anwendung mit Arrays

Spezialisierte Funktionen lassen sich in Array-Methoden wie map übersichtlich verwenden.

function power(exponent, base) {
  return Math.pow(base, exponent);
}

const square = power.bind(null, 2);

console.log([1, 2, 3, 4].map(square));

Konfiguration vorab festlegen

Eine häufige Anwendung aus der Praxis besteht darin, einen Konfigurationswert wie einen Steuersatz oder ein Währungssymbol festzulegen und das Ergebnis anschließend überall wiederzuverwenden.

function format(symbol, amount) {
  return symbol + amount.toFixed(2);
}

const usd = format.bind(null, '$');
const eur = format.bind(null, '\u20AC');

console.log(usd(9.5));
console.log(eur(9.5));

Partielle Anwendung und Standardparameter

Standardparameter liefern einen Ersatzwert, wenn ein Argument fehlt. Die partielle Anwendung legt einen Wert fest, sodass der Aufrufer ihn für diese Position nicht mehr ändern kann.

Sie lösen unterschiedliche Probleme: Standardwerte sind optional, partielle Anwendungen legen Werte fest.

function log(level, message) {
  return '[' + level + '] ' + message;
}

const error = log.bind(null, 'ERROR');
console.log(error('Disk full'));
console.log(error('Timeout'));

Warum partielle Anwendung wichtig ist

Partielle Anwendung verringert Wiederholungen, macht die Absicht klar erkennbar und bildet die Grundlage für Currying. Wenn Sie immer wieder dasselbe erste Argument übergeben, sollten Sie in Betracht ziehen, es einmalig festzulegen.

function between(min, max, value) {
  return value >= min && value <= max;
}

const isPercentage = between.bind(null, 0, 100);

console.log(isPercentage(50));
console.log(isPercentage(150));

Kurztest

Was gibt fn.bind(null, 5) zurück?

Zusammenfassung: Partielle Anwendung

Sie haben gelernt, Argumente im Voraus festzulegen:

  • Manuelle Wrapper tragen ein Argument fest ein und geben den Rest weiter.
  • bind(null, ...args) setzt Argumente von links ausgehend vorab ein.
  • Eine eigene partial-Hilfsfunktion verwendet Rest und Spread.
  • Partielle Anwendung erzeugt klare, wiederverwendbare Spezialisierungen und bereitet den Weg für Currying.

Häufig gestellte Fragen

Ist die Lektion „Partielle Anwendung“ kostenlos?

Ja — der vollständige Text von „Partielle Anwendung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des JavaScript Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der JavaScript Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Partielle Anwendung“?

Fixieren Sie einige Argumente und verwenden Sie Funktionen wieder. Du übst JavaScript Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um JavaScript Academy zu starten?

Keine Vorkenntnisse erforderlich. JavaScript Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Partielle Anwendung“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser JavaScript Academy-Lektion Code schreiben und ausführen?

Ja. Jede JavaScript Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Partielle Anwendung
  2. Funktionen curryen
  3. Funktionskomposition
  4. pipe und compose erstellen
← Zurück zu JavaScript Academy