javascript / intermediate
Snippet
Explizite Bindung mit call und apply
Die Methoden call und apply ermöglichen es, eine Funktion aufzurufen und dabei explizit den 'this'-Kontext festzulegen. Der Unterschied liegt in der Argumentübergabe: call erwartet eine kommagetrennte Liste, apply ein Array.
snippet.js
1
2
3
4
5
6
function introduce(city, country) {return `${this.name} lives in ${city}, ${country}`;}const person = { name: 'Markus' };console.log(introduce.call(person, 'Berlin', 'Germany'));console.log(introduce.apply(person, ['Vienna', 'Austria']));
Erklärung
1
introduce.call(person, 'Berlin', 'Germany');
Ruft die Funktion mit 'this' als 'person' und einzelnen Argumenten auf.
2
introduce.apply(person, ['Vienna', 'Austria']);
Ruft die Funktion mit 'this' als 'person' und Argumenten in einem Array auf.