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

Какие знаешь типы объявления функций

В JavaScript есть несколько способов объявления функций:

  1. Function Declaration - объявление с ключевым словом function:
javascript
function sum(a, b) {
  return a + b;
}
  1. Function Expression - присваивание функции переменной:
javascript
const sum = function(a, b) {
  return a + b;
};
  1. Arrow Function (ES6) - компактный синтаксис:
javascript
const sum = (a, b) => a + b;
  1. Constructor Function - через new Function:
javascript
const sum = new Function('a', 'b', 'return a + b');
  1. Методы объектов:
javascript
const obj = {
  sum(a, b) {
    return a + b;
  }
};
  1. Генераторы (function*):
javascript
function* generator() {
  yield 1;
}

Основные отличия: поднятие (hoisting), контекст this, использование в качестве конструктора. Function Declaration подвергается hoisting, тогда как Function Expression - нет. Arrow functions не имеют своего this.

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

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

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

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