Kā atšķiras bultiņas funkciju izmantošana no standarta funkcijām JavaScript?
sobes.tech AI
Atbilde no AI
JavaScript šautuļu funkcijas atšķiras no standarta funkcijām dažos galvenajos punktos:
-
thiskonteksts: Šautuļu funkcijāsthisleksikāli manto no apkārtējā konteksta, tas ir, tās neveido savuthiskontekstu. Parastajās funkcijāsthisir atkarīgs no tā, kā funkcija tiek izsaukta. -
argumentstrūkums: Šautuļu funkcijas nav savsargumentsobjekts. Lai piekļūtu argumentiem, jāizmanto parametri vai ārējās mainīgās. -
Nav iespējams izmantot kā konstruktoru: Šautuļu funkcijas nevar izsaukt ar
new, jo tām nav iekšējās [[Construct]] metodes. -
Īsāka sintakse: Šautuļu funkcijas parasti ir īsākas un ērtākas rakstīt īsām funkcijām.
Piemērs:
const obj = {
value: 10,
regularFunc: function() {
console.log(this.value); // 10
},
arrowFunc: () => {
console.log(this.value); // nenoteikts vai ārējā konteksta vērtība
}
};
obj.regularFunc(); // izvadīs 10
obj.arrowFunc(); // izvadīs undefined
Tādējādi, izvēle starp šautuļu un parasto funkciju ir atkarīga no nepieciešamības pārvaldīt kontekstu un lietošanas īpatnībām.