Sobes.tech
Middle

Čím sa líši šípová funkcia od bežnej pomenovanej funkcie?

sobes.tech AI

Odpoveď od AI

Šípové funkcie v JavaScripte sa od bežných pomenovaných funkcií líšia v niekoľkých kľúčových bodoch:

  • Kontext this: Šípové funkcie nemajú vlastný this; dedičia this z okolia lexikálneho kontextu. Bežné funkcie majú vlastný this, ktorý závisí od spôsobu volania.
  • Chýba arguments: Šípové funkcie nemajú objekt arguments. Na prístup k argumentom je potrebné použiť parametre alebo rest parametre.
  • Nie je možné ich použiť ako konštruktor: Šípové funkcie nemôžu byť volané s new.
  • Syntax: Šípové funkcie sú kratšie a pohodlnejšie na písanie krátkych funkcií.

Príklad:

const obj = {
  value: 42,
  regularFunc: function() { return this.value; },
  arrowFunc: () => this.value
};

console.log(obj.regularFunc()); // 42
console.log(obj.arrowFunc());   // undefined, pretože `this` neukazuje na `obj`