よくあるカッコで
(function() {
//
})()
は最後を }()) とするか })() とするかで分かれたり () なので 2 文字かつ閉じカッコが必要なのが面倒です
さらに ( から始めるのはセミコロンなしスタイルと相性が悪いということで 単項演算子版を使ってます
!function() {
//
}()
! 以外でも単項演算子なら ~ や typeof を使っても動きます
! は書きやすい上に強調してる感があって 返り値を捨てる=副作用を起こすところ ということが目立っていいかなということでこれにしてました
最近 普段はめったにみない void 演算子を見て そういえばそんな演算子もあったなぁとか思っていたら ふと即時関数呼び出しに向いてそうと閃きました
void function () {
//
}()
文字数は増えましたが ! に比べて見た目が自然な感じです
! だと Boolean キャストして反転という処理でもありましたが void は何が来ようと undefined を返すだけです
返り値を捨てるという意味合いにぴったりで処理的にもムダを感じません
通常のコードで void を書くことはまずないので全体から検索するときにも ! より優れています
唯一の問題は文字数が増えることですが 打ちやすさ的には Shift+1 って結構押しづらくもあるので void のほうが早く打ててるかもしれません
知名度的には () の方法を除けば一番見るのが ! と言っても良いくらいには ! をみることはあるので ある程度 JavaScript を読んでる人には ! は伝わりそうですが void だと二度見されそうというのはありますね