ExpertiDict

JavaScript · Intermediário · Inglês · Técnico

IIFE

/ˈɪfi/sigla

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.

Veja também

Todos os termos de JavaScript