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