Встречается на собеседованиях • сегодня

В чем разница между function expression и function declaration

Function Declaration объявляется с ключевым словом function и может быть вызвана до объявления благодаря hoisting (поднятию).

javascript
sayHello(); // Работает
function sayHello() {
  console.log("Hello!");
}

Function Expression создается путем присваивания функции переменной. Вызов до объявления вызовет ошибку, так как переменная еще не инициализирована.

javascript
sayHi(); // Ошибка: sayHi is not a function
const sayHi = function() {
  console.log("Hi!");
};

Ключевые отличия:

  1. Hoisting — Declaration поднимается, Expression — нет.
  2. Контекст — Expression можно использовать как аргумент или в IIFE.
  3. Гибкость — Expression можно переопределять (если let/var).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы