Sobes.tech
Junior
112
questionbank

Что такое функциональное выражение и для чего оно нужно?

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

sobes.tech AI

Функциональное выражение — это определение функции внутри другого выражения. Оно не объявляется как отдельный оператор function name(...) {}, а присваивается переменной, свойству объекта или используется как аргумент другой функции.

Для чего нужно:

  • Создание анонимных функций: Позволяет определить функцию без имени, что полезно для колбэков или одноразовых функций.
  • Замыкания (Closures): Функциональные выражения часто используются для создания замыканий, позволяя функции "помнить" переменные из внешней области видимости, даже после завершения выполнения внешней функции.
  • Немедленно вызываемые функциональные выражения (IIFE): Обеспечивают изоляцию кода и предотвращают загрязнение глобальной области видимости.
  • Динамическое определение функций: Функции могут быть созданы и assigned в зависимости от условий выполнения программы.

Пример анонимного функционального выражения:

// Присваивание анонимной функции переменной
const greet = function(name) {
  console.log(`Привет, ${name}!`);
};

greet("Мир");

Пример IIFE:

(function() {
  // Код внутри этой функции исполняется немедленно
  // и переменные внутри неё не доступны извне
  let privateVariable = "секрет";
  console.log(privateVariable);
})();

// console.log(privateVariable); // Ошибка: privateVariable не определена