Middle
Mi a különbség a nyílfüggvény és a normál nevű függvény között?
sobes.tech MI
Válasz az MI-től
A JavaScript nyílfüggvények több fontos szempontból különböznek a szokásos, névvel ellátott függvényektől:
thiskontextus: A nyílfüggvényeknek nincs sajátthis-ük; öröklik a környező lexikális kontextusból. A normál függvények sajátthis-el rendelkeznek, ami a hívás módjától függ.argumentshiánya: A nyílfüggvényeknek nincsargumentsobjektumuk. Az argumentumokhoz paraméterek vagy rest paraméterek segítségével lehet hozzáférni.- Nem használhatók konstruktorként: A nyílfüggvényeket nem lehet
new-el hívni. - Szintaxis: A nyílfüggvények rövidebbek és kényelmesebbek rövid függvények írásához.
Példa:
const obj = {
value: 42,
regularFunc: function() { return this.value; },
arrowFunc: () => this.value
};
console.log(obj.regularFunc()); // 42
console.log(obj.arrowFunc()); // undefined, mert a `this` nem az `obj`-re mutat