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.