Un IIFE (Immediately Invoked Function Expression) es una función en JavaScript que se ejecuta inmediatamente después de ser definida. Se utiliza para evitar la contaminación del ámbito global y crear un ámbito local para las variables.
Un IIFE se define utilizando una función anónima encerrada entre paréntesis y se ejecuta inmediatamente con ()
al final. La sintaxis es la siguiente:
(function() {
console.log("Hola, soy un IIFE");
})();
1. Paréntesis que encierran la función: function() { ... }
está dentro de ()
para convertirla en una expresión de función.
2. Ejecutar inmediatamente: ()
al final hace que la función se invoque de inmediato.
También se puede escribir con una función de flecha:
(() => {
console.log("Este es un IIFE con arrow function");
})();
(function() {
var mensaje = "Hola";
console.log(mensaje);
})();
console.log(typeof mensaje); // undefined
Aquí, la variable mensaje
solo existe dentro del IIFE y no en el ámbito global.
(function(nombre) {
console.log("Hola, " + nombre);
})("Carlos");
Se pueden pasar argumentos para personalizar la ejecución del IIFE.
Jorge García
Fullstack developer