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

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

Разница между function declaration и function expression в JavaScript:

  1. Function Declaration (объявление функции):
    • Поднимается (hoisted), можно вызывать до объявления
    • Имеет собственный контекст this
javascript
sayHello(); // Работает
function sayHello() {
  console.log('Hello!');
}
  1. Function Expression (функциональное выражение):
    • Не поднимается, вызов до объявления вызовет ошибку
    • Может быть анонимной или именованной
    • Часто используется в колбэках
javascript
const sayHi = function() {
  console.log('Hi!');
};
sayHi(); // Работает
  1. Arrow Function (стрелочная функция):
    • Не имеет собственного this (берет из внешнего контекста)
    • Не может быть конструктором
    • Более компактный синтаксис
javascript
const greet = () => console.log('Hey!');

Выбор зависит от контекста использования и требований к this.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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