JavaScript · Intermediário · Inglês · Técnico
IIFE
Função invocada imediatamente após ser definida, escrita como (function () {...})(). Cria um escopo próprio para isolar variáveis, padrão comum antes dos módulos ES.
Onde usar
Aparece em scripts antigos e em bundles gerados. Em code review moderno, módulos e blocos substituem a IIFE, exceto quando se precisa de um async imediato.
Em código
(function () {
const segredo = 42;
console.log(segredo);
})();
(async () => {
console.log(await Promise.resolve(1));
})();Exemplos
That legacy bundle wraps everything in an IIFE.
Esse bundle legado embrulha tudo em uma IIFE.
I used an async IIFE to await at the top of the script.
Usei uma IIFE async para dar await no topo do script.
Cuidado
Esquecer o ponto e vírgula antes de uma IIFE, que pode ser lida como chamada da linha anterior.
Sinônimos
função de invocação imediata
Origem
Sigla de Immediately Invoked Function Expression.