Back to questions
IT One
Middle+
11
Чем отличается function expression от function declaration?
Companies where asked
Answer from AI
sobes.tech AI
Function Declaration — это объявление функции с помощью ключевого слова function в начале:
function greet() {
console.log('Hello');
}
Function Expression — это присваивание функции переменной:
const greet = function() {
console.log('Hello');
};
Основные отличия:
-
Hoisting (поднятие): Function Declaration поднимается в начало области видимости, и её можно вызвать до объявления. Function Expression — нет, её можно вызвать только после присваивания.
-
Имя функции: Function Declaration всегда имеет имя. Function Expression может быть анонимной или именованной.
-
Использование: Function Expression часто используется для передачи функций как значений, например, в коллбэках.
Пример hoisting:
sayHi(); // работает
function sayHi() { console.log('Hi'); }
sayBye(); // ошибка
const sayBye = function() { console.log('Bye'); };