Junior
Hoe werkt de apply-methode in JavaScript?
sobes.tech AI
Antwoord van AI
De apply-methode wordt op functies aangeroepen en stelt je in staat om die functie uit te voeren met een gespecificeerde this-waarde en argumenten die worden doorgegeven in de vorm van een array (of een array-achtig object).
Belangrijkste aspecten:
- Instellen van
this: Het eerste argument van deapply-methode bepaalt de waarde van dethis-sleutelwoord binnen de aangeroepen functie. Als jenullofundefineddoorgeeft, verwijstthisin niet-strikte modus naar het globale object (bijvoorbeeldwindowin de browser ofglobalin Node.js), en in strikte modus blijft hetundefined. - Doorgeven van argumenten: Het tweede argument is een array (of een array-achtig object), waarvan de elementen de argumenten worden voor de aangeroepen functie, in de volgorde waarin ze in de array voorkomen.
Syntax:
function.apply(thisArg, argsArray)
thisArg: De waarde die wordt gebruikt alsthisbij het aanroepen van de functie.argsArray: Array of array-achtig object dat de argumenten bevat waarmee de functie wordt aangeroepen.
Verschillen met call:
applyaccepteert argumenten als een array.callaccepteert argumenten als afzonderlijke waarden, opgesomd nathisArg.
Voorbeeld van gebruik:
// Functie om het maximale getal in een array te berekenen
const numbers = [1, 5, 2, 8, 3];
const max = Math.max.apply(null, numbers);
console.log(max); // 8
// Aanroepen van een methode van een object met een andere `this`-context
const person1 = { name: 'Alice' };
const person2 = { name: 'Bob' };
function greet(greeting, punctuation) {
console.log(`${greeting}, ${this.name}${punctuation}`);
}
greet.apply(person1, ['Hello', '!']); // Hello, Alice!
gree.apply(person2, ['Hi', '?']); // Hi, Bob?
Gebruik:
- Argumentenarray doorgeven aan een functie die ze als afzonderlijke parameters verwacht.
- De
this-context wijzigen bij het aanroepen van een functie. - Gebruik met ingebouwde methoden die meerdere argumenten verwachten (bijvoorbeeld
Math.max,Math.min).