Sobes.tech
Middle

Какви са особеностите на работата с function expression и function declaration в JavaScript?

sobes.tech AI

Отговор от AI

Декларация на функция (обявяване на функция):

  • Определя се с помощта на ключовата дума function, последвана от името на функцията и след това скоби за параметри.
  • Подлежи на hoisting: функцията е достъпна в обхвата преди реалното й обявяване в кода.
  • Използвайте я, когато трябва да създадете именувана функция и редът на извикване няма значение.
function helloWorld() {
  // Извежда съобщение в конзолата
  console.log("Hello, World!");
}

Израз на функция (функционално изразяване):

  • Определя се като част от израз, най-често присвоен на променлива.
  • Не подлежи на hoisting: функцията е достъпна само след изпълнение на съответния ред код.
  • Може да бъде с име или без име (анонимна).
  • Използвайте я, когато трябва да предадете функция като аргумент, да създадете незабавно изпълняваща се функция (IIFE) или да дефинирате функция в условие.
const greet = function(name) {
  // Връща поздрав
  return `Здравей, ${name}!`;
};

Сравнение:

Характеристика Декларация на функция Функционално изразяване
Hoisting Да Не
Достъпност Преди обявяването в кода След обявяването в кода
Име Задължително Може да бъде анонимна
Синтаксис function име(...) {...} const променлива = function(...) {...}