! function () {} () vs (function () {}) ()
Ao revisar parte do código escrito no Javascript de Bootstrap do Twitter, parece que eles estão chamando imediatamente funções anônimas invocadas como esta:
!function( $ ) {
...
}(window.jQuery || window.ender);
Onde tradicionalmente vejo a mesma coisa ser realizada dessa maneira:
(function($) {
...
})(window.jQuery || window.ender);
A primeira maneira parece um pouco hacky, e não tenho certeza se há algum benefício ou razão para fazê-lo dessa maneira, e não da segunda maneira? Note que eu entendo como funciona, estou procurando entender por que eles escolheram essa maneira de fazê-l