Skip to content

JavaScript Arrow Funksiyalar (Arrow Functions) ​

Arrow functions (strelkali funksiyalar) funksiya ifodalarini (function expressions) qisqaroq sintaksis bilan yozish imkonini beradi.

Siz function kalit so'zini, return kalit so'zini va jingalak qavslarni yozmasligingiz mumkin:

Misol

js
const add = (a, b) => a * b;

Arrow funksiyalar ES6 versiyasida qo'shilgan va zamonaviy JavaScript-da juda keng qo'llaniladi.


Arrow Funksiya Sintaksisi ​

Arrow funksiyalar har doim => (strelka) belgisi bilan yoziladi va ular doimo funksiya ifodasi hisoblanadi.

js
const add = (a, b) => {
  return a + b;
};

Agar funksiya tanasi faqat bitta operatordan iborat bo'lsa, qisqaroq yozish mumkin:

js
const add = (a, b) => a * b;

Parametrlar va Qavslar ​

  1. Parametrlar yo'q bo'lsa: Bo'sh qavslar majburiy.
    js
    const hello = () => "Salom Dunyo!";
  2. Bitta parametr bo'lsa: Qavslarni yozmaslik mumkin.
    js
    const square = x => x * x;
  3. Bir nechta parametr bo'lsa: Qavslar majburiy.
    js
    const add = (x, y) => x + y;

return va Jingalak Qavslar ​

Agar funksiya faqat bitta qiymat qaytarsa, jingalak qavslar va return operatorini olib tashlash mumkin (yuqoridagidek). Lekin ehtiyot bo'ling: agar siz jingalak qavslarni qo'ysangiz, return operatorini ham yozishingiz shart, aks holda funksiya undefined qaytaradi.

js
// ❌ undefined qaytaradi
const myFunction = (x, y) => { x * y };

// ✅ To'g'ri (Expected result)
const myFunction = (x, y) => { return x * y };

// ✅ To'g'ri (Qisqa usul)
const myFunction = (x, y) => x * y;

Arrow Funksiyalar va this Kalit So'zi ​

Arrow funksiyalarning oddiy funksiyalardan eng katta farqi — bu this kalit so'zi bilan ishlashidir.

  • Arrow funksiyalarning o'zining this qiymati yo'q.
  • Ular thisni tashqi (o'rab turgan) koddan meros qilib oladi.
  • Shu sababli, arrow funksiyalarni obyekt metodlari sifatida ishlatish tavsiya etilmaydi, chunki this kutilganidek ishlamasligi mumkin.

Qachon Ishlatish Kerak? ​

  • Qisqa funksiyalar uchun.
  • Callback-lar (masalan, map, filter, forEach) uchun.
  • Tashqi kodning this qiymatini saqlab qolish kerak bo'lganda.

Ko'p Yo'l Qo'yiladigan Xatolar ​

  1. Hoistingni kutish: Arrow funksiyalar yuqoriga ko'tarilmaydi (hoisted emas). Ularni ishlatishdan oldin e'lon qilish kerak.
  2. thisni adashtirish: Obyekt metodlarida ehtiyot bo'ling.
  3. Qavslar qoidasini unutish: Nol yoki bir nechta parametrlar uchun qavslar shart.