Встречается на собеседованиях • сегодня
В чем разница между декларацией функции и функциональным выражением
Основное отличие в механизме hoisting'а и времени создания функции:
- Function Declaration объявляется до выполнения кода (hoisting), поэтому можно вызывать до объявления:
javascript
sayHi(); // Работает
function sayHi() { return 'Hi'; }- Function Expression создается в момент выполнения, поэтому вызов до объявления вызовет ошибку:
javascript
hello(); // TypeError: hello is not a function
var hello = function() { return 'Hello'; }Ключевые различия:
- Function Declaration всегда имеет имя
- Function Expression может быть анонимным
- Function Declaration нельзя использовать в блоках (в strict mode)
- Function Expression можно сразу вызывать (IIFE)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы