Invocation de fonction immédiate en JavaScript
Maintenant, nous allons analyser une technique qui permet d'invoquer une fonction directement à l'endroit de sa déclaration. Une telle construction est appelée Immediately Invoked Function Expression (IIFE).
Regardons un exemple. Supposons que nous ayons une expression fonctionnelle comme celle-ci :
let func = function() {
console.log('!');
};
func(); // affichera '!'
Maintenant, n'assignons pas notre fonction à une variable, mais invoquons-la immédiatement, sur place. Pour ce faire, plaçons des parenthèses après la fonction :
+function() {
console.log('!'); // affichera '!'
}();
La présence du plus est dans ce cas une condition obligatoire, car sans cela, la fonction deviendrait une Function Declaration, et celles-ci ne peuvent pas être invoquées sur place (surtout sans nom). Bien sûr, à la place du plus, cela peut être n'importe quoi, - l'essentiel, c'est que notre fonction soit une expression fonctionnelle.
Déterminez, sans exécuter le code, ce qui sera affiché dans la console :
!function() {
console.log('!');
}();
Déterminez, sans exécuter le code, ce qui sera affiché dans la console :
function() {
console.log('!');
}();