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

В чем разница между разными видами объявления функций

Разница между function declaration, function expression и arrow function:

  1. Function Declaration (поднимается вверх области видимости):
javascript
function sum(a, b) {
  return a + b;
}
  1. Function Expression (создается при выполнении кода):
javascript
const sum = function(a, b) {
  return a + b;
};
  1. Arrow Function (нет своего this, arguments, не может быть конструктором):
javascript
const sum = (a, b) => a + b;

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

  • Function declaration можно вызвать до объявления
  • Arrow function не имеет своего контекста this
  • Function expression может быть анонимной
  • Только function declaration/expression могут быть генераторами (function*)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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