グローバル空間の汚染
グローバル空間の汚染とは、グローバルスコープの変数や関数が存在すること。
グローバルスコープは、プログラムのどこからでもアクセス可能なため、他のプログラムなどの変数名の衝突が発生し、予期せぬバグが発生してしまう。
グローバル空間を汚染しないために、グローバル空間には変数及び関数を宣言すべきではない。
それを防ぐ手段の1つが即時関数を使用すること。即時関数で囲むことでスコープをつくり、アクセスを制限することができる。
#即時関数とは
即時関数とは、関数定義と関数の実行が同時に行われる無名関数のこと。
これを使うとグローバル空間の汚染を避けることができる。
即時関数の書き方は以下となる。
書き方
(function() {
// 処理内容
})();
// ラムダ式を使った書き方
(() => {
// 処理内容
})();
これにより、即時関数内で宣言された変数は関数スコープとなり、関数の外から変数にアクセルすることができない。