Sobes.tech
Middle

FunctionExpression va FunctionDeclaration nima? Ularning asosiy farqi nima?

sobes.tech AI

AIdan javob

Funksiya e'lon qilish — bu function kalit so'zi va funksiya nomi yordamida e'lon qilish, masalan:

function greet() {
  console.log('Salom');
}

FunctionExpression — bu ifoda sifatida yaratilgan va nomli yoki nomsiz bo'lishi mumkin bo'lgan funksiya, masalan:

const greet = function() {
  console.log('Salom');
};

Asosiy farq — bu hoisting:

  • FunctionDeclaration butunlay ko'tariladi, ya'ni uni kodda e'lon qilishdan oldin chaqirish mumkin.
  • FunctionExpression esa o'zgaruvchi sifatida ko'tariladi, lekin funksiyasi faqat tayinlash vaqtida initsializatsiya qilinadi, shuning uchun uni tayinlashdan oldin chaqirib bo'lmaydi.

Misol:

sayHi(); // Ishlaydi
function sayHi() {
  console.log('Salom');
}

sayHello(); // Xato: sayHello funksiyaga teng emas
const sayHello = function() {
  console.log('Salom');
};