Invocazione di Funzione Immediata in JavaScript
Ora analizzeremo una tecnica che permette di invocare una funzione direttamente nel punto in cui viene dichiarata. Questa costruzione è chiamata Immediately Invoked Function Expression (IIFE).
Diamo un'occhiata a un esempio. Supponiamo di avere la seguente espressione di funzione:
let func = function() {
console.log('!');
};
func(); // stamperà '!'
Ora, invece di assegnare la nostra funzione a una variabile, invochiamola subito, "sul posto". Per farlo, mettiamo delle parentesi tonde dopo la funzione:
+function() {
console.log('!'); // stamperà '!'
}();
La presenza del più in questo caso è una condizione obbligatoria, perché senza di essa la funzione diventerebbe una Function Declaration, e queste non possono essere invocate sul posto (inoltre senza un nome). Naturalmente, invece del più può esserci qualsiasi cosa, - l'importante è che la nostra funzione sia un'espressione di funzione.
Determinate, senza eseguire il codice, cosa verrà stampato in console:
!function() {
console.log('!');
}();
Determinate, senza eseguire il codice, cosa verrà stampato in console:
function() {
console.log('!');
}();