Junior
Wat doet de functie call in JavaScript?
sobes.tech AI
Antwoord van AI
De functie call in JavaScript roept de functie aan waarop het wordt toegepast, stelt een specifieke waarde voor this in en geeft argumenten afzonderlijk door.
Algemene syntaxis:
func.call(thisArg, arg1, arg2, ...);
thisArg: De waarde die wordt gebruikt alsthistijdens het aanroepen vanfunc. AlsthisArgnullofundefinedis, wordtthisvervangen door het globale object in niet-strikte modus (of blijftundefinedin strikte modus).arg1,arg2, ... : Argumenten die aan de functiefuncworden doorgegeven.
Belangrijkste toepassingen:
- Verandering van context: Maakt het mogelijk expliciet te bepalen welk object toegankelijk is via
thisbinnen de functie. - Methoden lenen: Maakt het mogelijk om methoden van het ene object voor een ander te gebruiken.
- Erasering van overerving (voor klassen): In oudere versies van JavaScript kon
callworden gebruikt om de constructor van de ouder met de context van het kind-object aan te roepen.
Voorbeeld van contextwijziging:
function greet() {
console.log(`Hallo, ${this.name}!`);
}
const person = { name: 'Piet' };
greet.call(person); // Toont: Hallo, Piet!
Voorbeeld van methoden lenen:
const numbers = [1, 2, 3];
// Gebruik van de splice-methode van een array op een array-achtig object
const arrayLike = { 0: 'a', 1: 'b', length: 2 };
Array.prototype.splice.call(arrayLike, 0, 1);
console.log(arrayLike); // Toont: { 0: 'b', length: 1 }