Middle
Was sind die Methoden call, apply und bind in JavaScript?
sobes.tech KI
Antwort von AI
call, apply und bind sind Methoden, die für alle Funktionen in JavaScript verfügbar sind. Sie werden verwendet, um den Ausführungskontext der Funktion (den Wert von this) zu steuern.
- call: Ruft eine Funktion mit einem angegebenen
this-Wert und einzelnen Argumenten auf.// Beispiel für die Verwendung von call function greet() { return "Hallo, " + this.name + "!"; } const person = { name: "Ivan" }; console.log(greet.call(person)); // Ausgabe: Hallo, Ivan! - apply: Ruft eine Funktion mit einem angegebenen
this-Wert und Argumenten auf, die in Form eines Arrays oder Pseudoarrays übergeben werden.// Beispiel für die Verwendung von apply function sum(a, b) { return this.base + a + b; } const context = { base: 10 }; const numbers = [5, 3]; console.log(sum.apply(context, numbers)); // Ausgabe: 18 - bind: Erstellt eine neue Funktion, die beim Aufruf einen festgelegten
this-Wert hat. Die ursprüngliche Funktion wird dabei nicht sofort aufgerufen.// Beispiel für die Verwendung von bind const module = { x: 42, getX: function() { return this.x; } }; const unboundGetX = module.getX; console.log(unboundGetX()); // Ausgabe: undefined (this zeigt auf das globale Objekt) const boundGetX = unboundGetX.bind(module); console.log(boundGetX()); // Ausgabe: 42 (this ist an module gebunden)
Hauptunterschiede:
| Methode | Argumentübergabe | Funktionsaufruf | Rückgabewert |
|---|---|---|---|
| call | Separat (durch Komma) | Sofort | Ergebnis der Funktion |
| apply | Als Array oder Pseudoarray | Sofort | Ergebnis der Funktion |
| bind | Separat (durch Komma) | Nicht sofort | Neue Funktion mit gebundenem this |