Skip to content

JavaScript Funksiya Ifodalari (Function Expressions)

JavaScript funksiyasini biror o'zgaruvchida saqlash orqali ham aniqlash mumkin. Bu funksiya ifodasi (function expression) deb ataladi.

Misol

js
// Standart funksiya (Declaration)
function multiply(a, b) {
  return a * b;
}

// Funksiya ifodasi (Expression)
const multiplyExpr = function(a, b) {
  return a * b;
};

Anonim Funksiyalar

Funksiya ifodalarida ko'pincha anonim funksiyalar (nomi yo'q funksiyalar) ishlatiladi. O'zgaruvchida saqlangan funksiya uchun alohida nom berish shart emas, chunki u o'zgaruvchi nomi orqali chaqiriladi.

js
const x = function (a, b) {return a * b};
let z = x(4, 3); // z ning qiymati 12 bo'ladi

Nuqtali Vergul (Semicolon)

Funksiya ifodasi JavaScript-da biror operator (statement) hisoblanadi. Shuning uchun u odatda nuqtali vergul bilan tugaydi.


Funksiya Declarations vs Expressions

JavaScript-da funksiyani aniqlashning bu ikki usuli ham bir xil ishlaydi, lekin ularning Hoisting (yuqoriga ko'tarilish) xususiyati turlichadir.

Hoisting (Yuqoriga Ko'tarilish)

  • Function Declarations (Standart funksiyalar) kodda aniqlanishidan oldin ham chaqirilishi mumkin.
  • Function Expressions esa faqat kodda aniqlangandan keyingina chaqirilishi mumkin.

Misol (Declaration) - ishlaydi:

js
let sum = add(2, 3); // Ishlaydi

function add(a, b) {return a + b;}

Misol (Expression) - xatolik beradi:

js
let sum = add(2, 3); // ❌ Xatolik (ReferenceError)

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

Qaysi Birini Ishlatish Kerak?

  • Function Declarations: Umumiy maqsadli funksiyalar uchun ishlating. Ular kodning istalgan joyidan kirish imkonini beradi.
  • Function Expressions: Funksiyani o'zgaruvchi sifatida ishlatish kerak bo'lganda (masalan, callback-lar yoki hodisalarni boshqarishda) ishlating.