JS - Forçando uma IIFE (Immediately Invoked Function Expression)


Uma IIFE comum é geralmente declarada da seguinte forma:

;(function(){

    alert('Código do escopo da IIFE');

})();

Porém, é possível definir IIFE de outra forma além dos parênteses, para isso basta forçar que o JavaScript interprete a função como expressão através do uso de operadores comuns da linguagem.

// Com o operador "+"
+function(){

  console.log('Executando');

}();

// Com o operador "-"
+function(){

  console.log('Executando');

}();

// Com o operador "!"
!function(){

  console.log('Executando');

}();

Essa forma de declarar uma IIFE não é algo para se utilizar em projetos, já que não é intuítivo, o propósito é só mostrar alguns truques (um pouco estranhos) que o JavaScript pode fazer. Esses exemplos ilustram bem como o javascript transforma funções em expressões facilmente, achei válido registrar essa curiosidade em um post rápido depois ter ter contato com isso em artigos na internet.


ver todos os posts
Publicado em 24/08/2018