He estado viendo esta sintaxis en algunas bibliotecas ahora y me pregunto cuál es el beneficio. (tenga en cuenta que estoy al tanto de los cierres y de lo que está haciendo el código, solo me preocupan las diferencias sintácticas)
!function(){
// do stuff
}();
Como alternativa a lo más común
(function(){
// do stuff
})();
para auto invocar funciones anónimas.
Me pregunto algunas cosas. En primer lugar, ¿qué está permitiendo que el mejor ejemplo funcione realmente? ¿Por qué es necesaria la explosión para que esta afirmación sea sintácticamente correcta? También me dijeron que +
funciona, y estoy seguro de que algunos otros, en lugar de!
Segundo, ¿cuál es el beneficio? Todo lo que puedo decir es que salva un solo personaje, pero no puedo imaginar que sea un beneficio tan grande para atraer a numerosos adoptantes. ¿Hay algún otro beneficio que me estoy perdiendo?
La única otra diferencia que puedo ver sería el valor de retorno de la función de invocación automática, pero en estos dos ejemplos, realmente no nos importa el valor de retorno de la función, ya que se usa solo para crear un cierre. Entonces, ¿alguien puede decirme por qué uno podría usar la primera sintaxis?
!
porque enfatiza que se está ejecutando.