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

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

Функции можно объявить тремя способами:

  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;

Основные отличия:

  • Поднятие (hoisting) - только у Declaration
  • Контекст this - у стрелочных берется из внешней области
  • Использование как конструктор - только Declaration и Expression
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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