Sobes.tech
Junior

Wat is het verschil tussen de twee manieren om een functie te definiëren?

sobes.tech AI

Antwoord van AI

Het belangrijkste verschil is de context van this.

Manier om een functie te definiëren Verschil
functie declaratie De context van this wordt bepaald door hoe de functie wordt aangeroepen. Wordt voor de uitvoering van de code opgetild (hoisting).
pijlfunctie De context van this erft van de omliggende (lexicale) context. Wordt niet opgetild (geen hoisting).
// functie declaratie
function reguliereFunctie() {
  console.log(this); // `this` hangt af van de aanroep
}

// pijlfunctie
const pijlFunctie = () => {
  console.log(this); // `this` erft van de context waarin de functie is gedefinieerd
};

Pijlfuncties hebben ook niet hun eigen arguments object (het wordt overgenomen uit de externe context) en kunnen niet worden gebruikt als constructeurs met de new operator.