クロージャの理解

  • はじめに 今回はクロージャという上級者向けのJavaScriptテクニックを学びましょう。クロージャは、関数が外部スコープの変数を参照して、それを保持する特性です。では、二人の説明を見ていきましょう。
Gal Normal

クロージャって何?

Geek Curious

関数が外部スコープの変数を参照して、それを保持する特性だよね?

Gal Happy

そうなの!クロージャは、関数が他の関数のスコープにある変数にアクセスできる機能を持っているの!

Gal Pleased

例えば、こんな感じのコードがあったとするね。

function outer() {
    let count = 0;

    function inner() {
        count++;
        console.log(count);
    }

    return inner;
}

const myFunc = outer();
myFunc();
myFunc();
Geek Happy

なるほど、 outer 関数の中に inner 関数があって、 count 変数にアクセスしているんだね!

Gal Happy

そうなの! myFuncouter() を代入して、 myFunc() を呼び出すたびに、 count がインクリメントされて表示されるの。これがクロージャの働きなの!

  • おわりに クロージャは、関数が外部スコープの変数にアクセスして、それを保持する上級者向けのJavaScriptテクニックです。この機能を使って、より柔軟でパワフルなコードを書くことができますね!🚀