Middle
Wat zijn de methoden call, apply en bind in JavaScript?
sobes.tech AI
Antwoord van AI
call, apply en bind zijn methoden die beschikbaar zijn voor alle functies in JavaScript. Ze worden gebruikt om de uitvoeringscontext van de functie (this waarde) te beheren.
- call: Roept een functie aan met een gespecificeerde
thiswaarde en losse argumenten.// Voorbeeld van call gebruik function greet() { return "Hallo, " + this.name + "!"; } const person = { name: "Ivan" }; console.log(greet.call(person)); // Uitvoer: Hallo, Ivan! - apply: Roept een functie aan met een gespecificeerde
thiswaarde en argumenten in de vorm van een array of pseudo-array.// Voorbeeld van apply gebruik function sum(a, b) { return this.base + a + b; } const context = { base: 10 }; const numbers = [5, 3]; console.log(sum.apply(context, numbers)); // Uitvoer: 18 - bind: Maakt een nieuwe functie die, wanneer deze wordt aangeroepen, een vaste
thiswaarde heeft. De originele functie wordt niet meteen aangeroepen.// Voorbeeld van bind gebruik const module = { x: 42, getX: function() { return this.x; } }; const unboundGetX = module.getX; console.log(unboundGetX()); // Uitvoer: undefined (this wijst naar het globale object) const boundGetX = unboundGetX.bind(module); console.log(boundGetX()); // Uitvoer: 42 (this is gebonden aan module)
Belangrijkste verschillen:
| Methode | Argumenten doorgeven | Functie aanroepen | Terugkeerwaarde |
|---|---|---|---|
| call | Gescheiden (door komma) | Meteen | Resultaat van de functie |
| apply | In de vorm van een array of pseudo-array | Meteen | Resultaat van de functie |
| bind | Gescheiden (door komma) | Niet meteen | Nieuwe functie met gebonden this |