Apelarea imediată a funcțiilor în JavaScript
Acum vom analiza o tehnică care permite apelarea unei funcții imediat după declararea ei. Această construcție se numește Immediately Invoked Function Expression (IIFE).
Să ne uităm la un exemplu. Să presupunem că avem următoarea expresie funcțională:
let func = function() {
console.log('!');
};
func(); // va afișa '!'
Acum să nu mai atribuim funcția noastră unei variabile, ci să o apelăm imediat, "pe loc". Pentru aceasta, după funcție punem paranteze rotunde:
+function() {
console.log('!'); // va afișa '!'
}();
Prezența semnului plus în acest caz este o condiție obligatorie, deoarece fără el funcția va deveni o Function Declaration, iar acestea nu pot fi apelate pe loc (în plus, fără nume). Desigur, în locul semnului plus poate fi orice, - principalul lucru, este ca funcția noastră să fie o expresie funcțională.
Stabiliți, fără a rula codul, ce se va afișa în consolă:
!function() {
console.log('!');
}();
Stabiliți, fără a rula codul, ce se va afișa în consolă:
function() {
console.log('!');
}();