DEV Community

Cover image for JavaScript: O que são funções IIFE?
Cristian Magalhães
Cristian Magalhães

Posted on • Edited on

8

JavaScript: O que são funções IIFE?

Nesse texto quero te mostrar o que é, e como usar uma função IIFE

Primeiro, o que é uma IIFE? O que significa isso? Bom IIFE é a sigla para Immediately-Invoked Function Expression que em uma tradução livre ficaria função auto executável.

Conceito

Quando nós temos uma função em qualquer linguagem, nós a declaramos e a chamamos quando e onde quisermos, correto? Correto! Porém, no JS existe uma forma de você declara uma função e no momento de execução, a mesma ser executada, porém sem chama-lá usando nomeDaFuncao().

Prática

Abaixo eu mostro como utilizar uma as função auto executável de duas formas diferentes.

Image description

Basicamente para criarmos e usarmos um IIFE nós criamos uma função comum, no exemplo acima eu criei funções anônimas usando a palavra-chave function, porém, nada te impede de criar arrow functions ou até mesmo nomear as suas funções.
Para que a função seja auto executável ela deve estar entre parênteses () e logo após a sua declaração você deve adicionar novamente parênteses dentro (1° Forma) ou fora (2° Forma) dos parênteses que ficam em volta da função.

E por fim basta executar o seu código e a função será executada sem nenhuma sem precisar chama-lá.

Muito obrigado por ler 🙃

Links úteis

Top comments (1)

Collapse
 
juanfrank77 profile image
Juan F Gonzalez

Excelente artigo. Muito bem explicado.

AWS Q Developer image

Your AI Code Assistant

Generate and update README files, create data-flow diagrams, and keep your project fully documented. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️