Встречается на собеседованиях • сегодня
В чем разница между типами функций
Функции в JS бывают нескольких видов:
- Function Declaration - объявляется с ключевым словом
function, имеет hoisting (можно вызвать до объявления):
js
function sum(a, b) {
return a + b;
}- Function Expression - функция присваивается переменной, нет hoisting:
js
const sum = function(a, b) {
return a + b;
};- Arrow Function (ES6) - компактный синтаксис, нет своего
this,arguments:
js
const sum = (a, b) => a + b;- IIFE (Immediately Invoked Function Expression) - выполняется сразу после создания:
js
(function() {
console.log('IIFE');
})();- Generator Function - функция с возможностью приостановки выполнения:
js
function* gen() {
yield 1;
yield 2;
}Основные различия: синтаксис, hoisting, поведение this, использование yield, область видимости.

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