🤔

クロージャーを書いてみる

2024/06/07に公開

クロージャーを作ると、グローバル環境を汚さないで済む。
例えば、下の変数iはcounter関数を実行することでしか、触れない。

var counter;
(function(){
    var i = 0;
    counter = function() {
        return i++; // 即時間数内のiを参照。
    }
})();

下のようにも書ける。どちらも同じ処理をしているが、下の方が
2の方がvarをconstに変えられるので、より安全で良い。

var counter = (function() {
    var i = 0;
    return function() {
        return i++;
    };
})();

Discussion