Sobes.tech
Middle+

Waarom kan de methode apply nodig zijn in de runOnce-oplossing?

sobes.tech AI

Antwoord van AI

De apply-methode in JavaScript stelt je in staat om een functie aan te roepen met een specifiek this-context en argumenten in de vorm van een array. Bij de implementatie van runOnce, die slechts één keer moet worden uitgevoerd, is apply handig om de originele argumenten en de aanroepcontext door te geven aan de omhullende functie.

Bijvoorbeeld, als we willen dat runOnce een functie retourneert die bij de eerste oproep de oorspronkelijke functie met dezelfde argumenten en context aanroept, en bij volgende oproepen niet, dan maakt apply dit universeel mogelijk:

function runOnce(fn) {
  let called = false;
  let result;
  return function(...args) {
    if (!called) {
      called = true;
      result = fn.apply(this, args); // context en argumenten doorgeven
    }
    return result;
  };
}

Op deze manier zorgt apply voor correcte werking van de functie met elk aantal argumenten en de juiste aanroepcontext.