Sobes.tech
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 this waarde 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 this waarde 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 this waarde 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