Invocación de función inmediata en JavaScript
Ahora analizaremos una técnica que permite invocar una función directamente en el lugar de su declaración. Esta construcción se llama Immediately Invoked Function Expression (IIFE).
Veamos un ejemplo. Supongamos que tenemos la siguiente expresión funcional:
let func = function() {
console.log('!');
};
func(); // mostrará '!'
Ahora no asignemos nuestra función a una variable, sino que la invoquemos inmediatamente, "en el lugar". Para ello, colocamos paréntesis después de la función:
+function() {
console.log('!'); // mostrará '!'
}();
La presencia del signo más en este caso es una condición obligatoria, ya que sin él, la función se convertiría en una Function Declaration, y estas no se pueden invocar en el lugar (especialmente sin nombre). Por supuesto, en lugar del signo más puede ir cualquier cosa, - lo principal es que nuestra función sea una expresión funcional.
Determine, sin ejecutar el código, qué se mostrará en la consola:
!function() {
console.log('!');
}();
Determine, sin ejecutar el código, qué se mostrará en la consola:
function() {
console.log('!');
}();