Sobes.tech
Middle

O'q chiziqli funktsiya va oddiy nomlangan funktsiya qanday farq qiladi?

sobes.tech AI

AIdan javob

JavaScript'ta o'q funksiyalari oddiy nomlangan funksiyalardan bir nechta muhim jihlari bilan farq qiladi:

  • this konteksti: O'q funksiyalari o'zining this ga ega emas; ular atrofdagi leksik kontekstdan this ni meros qilib oladi. Oddiy funksiyalar o'zining this ga ega bo'lib, chaqirish usuliga bog'liq.
  • arguments ning mavjud emasligi: O'q funksiyalari arguments ob'ektiga ega emas. Argumentlarga kirish uchun parametrlar yoki qolgan parametrlar (rest parameters) dan foydalanish kerak.
  • Konstruktor sifatida ishlatilmasligi mumkin: O'q funksiyalarini new bilan chaqirish mumkin emas.
  • Sintaksis: O'q funksiyalari qisqaroq va qisqa funksiyalar yozish uchun qulayroq.

Misol:

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

console.log(obj.regularFunc()); // 42
console.log(obj.arrowFunc());   // undefined, chunki `this` `obj` ga ishora qilmaydi