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'ladiNuqtali 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.
