! function () {} () vs (function () {}) ()

При просмотре некоторого кода, написанного в JavaScript Bootstrap Javascript, похоже, что они вызывают немедленно вызванные анонимные функции, подобные этой:

!function( $ ) {

     ...

}(window.jQuery || window.ender);

Там, где я традиционно видел то же самое, достигнутое так:

(function($) {

    ...

})(window.jQuery || window.ender);

Первый способ кажется немного хакерским, и я не уверен, есть ли какая-то польза или причина для этого, а не второй?Обратите внимание, что я понимаю, как это работает, я хочу понять, почему они выбрали именно этот способ.