# Вызов функции на месте в JavaScript

Сейчас мы разберем прием, который позволяет вызвать функцию прямо на месте ее объявления. Такая конструкция называется Immediately Invoked Function Expression (IIFE).

Давайте посмотрим на примере. Пусть у нас есть вот такое функциональное выражение:

`let func = function() { console.log('!'); }; func(); // выведет '!'`

Давайте теперь не будем присваивать нашу функцию в переменную, а вызовем ее сразу же, "на месте". Для этого после функции поставим круглые скобки:

`+function() { console.log('!'); // выведет '!' }();`

Наличие плюса в данном случае является обязательным условием, так как без него функция станет Function Declaration, а их на месте (да еще без имени) вызывать нельзя. Конечно же, вместо плюса может быть все, что угодно, - главное, чтобы наша функция была функциональным выражением.

Определите, не запуская код, что выведется в консоль:

`!function() { console.log('!'); }();`

Определите, не запуская код, что выведется в консоль:

`function() { console.log('!'); }();`
← →
↑
en ru