Was ist der Unterschied zwischen call und apply in JavaScript? Wann verwendet man was?
Hallo zusammen! Ich habe angefangen, JavaScript zu lernen und bin auf die Methoden call und apply gestoßen. Ich verstehe, dass beide es ermöglichen, eine Funktion mit einem bestimmten Kontext (dem Wert von this) aufzurufen, aber ich kann den grundlegenden Unterschied zwischen ihnen nicht erfassen.
Angenommen, ich habe ein einfaches Objekt und eine Funktion:
```javascript
const person = {
firstName: 'Ivan',
lastName: 'Petrov'
};
function greet(greeting, punctuation) {
console.log(`${greeting}, ${this.firstName} ${this.lastName}${punctuation}`);
}
```
Ich kann diese Funktion mit call aufrufen:
```javascript
greet.call(person, 'Hallo', '!'); // Hallo, Ivan Petrov!
```
Und mit apply:
```javascript
greet.apply(person, ['Hallo', '!']); // Hallo, Ivan Petrov!
```
Das Ergebnis ist identisch. Ich habe gelesen, dass der Unterschied darin liegt, wie die Argumente übergeben werden:
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs