Sobes.tech
Middle
107
questionbank

Каковы особенности работы с function expression и function declaration в JavaScript?

Ответ от нейросети

sobes.tech AI

Function Declaration (объявление функции):

  • Определяется с использованием ключевого слова function, за которым следует имя функции и затем скобки для параметров.
  • Подвергается хойстингу: функция доступна в области видимости до ее фактического объявления в коде.
  • Используйте, когда нужно создать именованную функцию и ее последовательность вызова не имеет значения.
function helloWorld() {
  // Выводит сообщение в консоль
  console.log("Hello, World!");
}

Function Expression (функциональное выражение):

  • Определяется как часть выражения, чаще всего присваивание переменной.
  • Не подвергается хойстингу: функция доступна только после того, как соответствующая строка кода будет выполнена.
  • Может быть как именованным, так и анонимным (без имени).
  • Используйте, когда нужно передать функцию как аргумент, создать немедленно выполняющуюся функцию (IIFE) или определить функцию в условии.
const greet = function(name) {
  // Возвращает приветствие
  return `Привет, ${name}!`;
};

Сравнение:

Особенность Function Declaration Function Expression
Хойстинг Да Нет
Доступность До объявления в коде После объявления в коде
Имя Обязательно Может быть анонимным
Синтаксис function имя(...) {...} const переменная = function(...) {...}