# Immediately invoked function call in JavaScript

Now we will analyze a trick that allows you to call a function right at the place of its declaration. This construct is called Immediately Invoked Function Expression (IIFE).

Let's look at an example. Let's say we have the following functional expression:

`let func = function() { console.log('!'); }; func(); // shows '!'`

Let's now not assign our function to a variable, but call it immediately, "in-place". To do this, put parentheses after the function:

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

The presence of a plus in this case is a required condition, since without it the function will become a Function Declaration, and they cannot be called in-place (and even without a name). Of course, instead of a plus, anything can be - the main thing is that our function is a functional expression.

Determine what will be output to the console without running the code:

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

Determine what will be output to the console without running the code:

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