javascriptで全体を即時関数で囲む書き方


書き方をたびたび忘れるので備忘録

グローバル変数との衝突回避のために、全体を即時実行関数で囲う

2021年現在のナウい順で紹介

(どういった違いがあるのかは不明)

!function() {
//処理
}();
(function (root) {
//処理
}(this));
(function(){
//処理
})();
(function(){
//処理
}());

↑最後のは、丸括弧が全体を囲んでいる。
こうすると少し早くなると紹介されていたが、当方、動作未確認

アロー関数の場合

(() => {
//処理
})();

ES6に準拠している場合

~(_=>
//処理
)``

引数を使う場合の例

後ろの括弧内に引数を指定する

(function(){
//処理
}('arg1','arg2'));

Strictモード

Strictモードは厳しく記述をチェックするモード
エラーではないが落とし穴になる一部の事柄を、エラーが発生するように変更する
詳しくはこちらで:Strict モード

記述例

!function() {
"use strict";
//処理
}();