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

В чем разница между Function Declaration и Function Expression

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 доступна до объявления
  2. Function Expression можно использовать как аргумент в других функциях
  3. Named Function Expression полезны для рекурсии и отладки
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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