Okamžité volanie funkcie v JavaScripte
Teraz si rozoberieme techniku, ktorá umožňuje volať funkciu priamo na mieste jej deklarácie. Táto konštrukcia sa nazýva Immediately Invoked Function Expression (IIFE).
Pozrime sa na príklad. Nech máme takéto funkčné vyjadrenie:
let func = function() {
console.log('!');
};
func(); // vypíše '!'
Teraz nepriraďujme našu funkciu do premennej, ale zavolajme ju okamžite, "na mieste". Na to za funkciu umiestnime okrúhle zátvorky:
+function() {
console.log('!'); // vypíše '!'
}();
Prítomnosť plusu je v tomto prípade povinná podmienka, pretože bez neho by sa funkcia stala Function Declaration, a tie na mieste (a navyše bez mena) volať nemožno. Samozrejme, namiesto plusu môže byť čokoľvek, - hlavne, aby naša funkcia bola funkčným vyjadrením.
Určite, bez spustenia kódu, čo sa vypíše do konzoly:
!function() {
console.log('!');
}();
Určite, bez spustenia kódu, čo sa vypíše do konzoly:
function() {
console.log('!');
}();