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(...) {...} |