Middle
Care este diferența dintre o funcție săgeată și o funcție numită obișnuită?
sobes.tech AI
Răspuns de la AI
Funcțiile săgeată în JavaScript diferă de funcțiile normale numite în mai multe puncte cheie:
- Contextul
this: Funcțiile săgeată nu au propriulthis; moștenescthisdin contextul lexical înconjurător. Funcțiile normale au propriulthis, care depinde de modul în care sunt apelate. - Lipsa
arguments: Funcțiile săgeată nu au obiectularguments. Pentru a accesa argumentele, trebuie să folosiți parametri sau parametri rest. - Nu pot fi folosite ca constructori: Funcțiile săgeată nu pot fi apelate cu
new. - Sintaxă: Funcțiile săgeată sunt mai scurte și mai convenabile pentru scrierea funcțiilor scurte.
Exemplu:
const obj = {
value: 42,
regularFunc: function() { return this.value; },
arrowFunc: () => this.value
};
console.log(obj.regularFunc()); // 42
console.log(obj.arrowFunc()); // undefined, deoarece `this` nu indică spre `obj`