“
- ソーシャルボタンのJavaScriptでfunctionの前に「!」がついている理由: 小粋空間
2.functionの前に「!」がついている理由
結論から言うと「!」はJavaScriptの即時関数を意味します。以下解説です。
JavaScriptの即時関数のシンタックスは通常、
(function(){ … })();
という形式なのですが、function全体を括っているカッコの代わりにJavaScriptの単項演算子「+」「-」「!」「void」「typeof」を使うこともできるようです。
また単項演算子を利用すると、後方の閉じカッコを省略できるらしいです。
つまり、
(function(){ … })();
は以下の5つ、
!function(){ … }();
+function(){ … }();
-function(){ … }();
void function(){ … }();
typeof function(){ … }();
に書き直せるということになります。サンプルを作って確認したところすべて動作しました。
最近のソーシャルボタンのJavaScriptではこの中の「!」をお作法として使っているようです。
”- ソーシャルボタンのJavaScriptでfunctionの前に「!」がついている理由: 小粋空間