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

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

Разница между видами определения функций в JavaScript:

  1. Function Declaration
    Объявляется с ключевым словом function, поднимается (hoisting), доступна до объявления.

    javascript
    function sum(a, b) {
      return a + b;
    }
  2. Function Expression
    Функция присваивается переменной, не поднимается, доступна только после определения.

    javascript
    const sum = function(a, b) {
      return a + b;
    };
  1. Arrow Function
    Лаконичный синтаксис, нет своего this, arguments, не может быть конструктором.

    javascript
    const sum = (a, b) => a + b;
  2. Методы объекта
    Функция как свойство объекта, this ссылается на объект.

    javascript
    const obj = {
      sum(a, b) { return a + b; }
    };
  3. Конструктор (класс)
    Используется с new, создает экземпляры.

    javascript
    function Person(name) {
      this.name = name;
    }
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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