Middle
Čime se razlikuje streličasta funkcija od obične imenovane funkcije?
sobes.tech АИ
Одговор од АИ
Funkcije sa strelicom u JavaScript-u razlikuju se od običnih imenovanih funkcija u nekoliko ključnih tačaka:
- Kontekst
this: Funkcije sa strelicom nemaju sopstvenithis; nasleđujuthisiz okoline leksičkog konteksta. Obične funkcije imaju svojthis, koji zavisi od načina poziva. - Nedostatak
arguments: Funkcije sa strelicom nemaju objekatarguments. Za pristup argumentima, potrebno je koristiti parametre ili rest parametre. - Ne mogu se koristiti kao konstruktor: Funkcije sa strelicom ne mogu biti pozvane sa
new. - Sintaksa: Funkcije sa strelicom su kraće i zgodnije za pisanje kratkih funkcija.
Primer:
const obj = {
value: 42,
regularFunc: function() { return this.value; },
arrowFunc: () => this.value
};
console.log(obj.regularFunc()); // 42
console.log(obj.arrowFunc()); // undefined, jer `this` ne ukazuje na `obj`