スコープチェーンと実行コンテキスト

  • はじめに 今回は、スコープチェーン実行コンテキストについて学びましょう。これらは、JavaScriptの上級者向けテクニックで、変数や関数のアクセス範囲を理解するのに役立ちます。では、二人の説明を見ていきましょう。
Gal Normal

スコープチェーンって何?

Geek Curious

それは、変数や関数のアクセス範囲を決める仕組みだよね?

Gal Happy

そうなの!スコープチェーンは、コードの中で変数や関数がどこからアクセスできるかを決める仕組みなの!

Gal Pleased

それから、実行コンテキストっていうのは、実行中のコードの状態や変数のスコープを管理するためのものなの。

Geek Happy

なるほど!スコープチェーンは変数や関数のアクセス範囲を決めて、実行コンテキストはその状態を管理するんだね!

Gal Happy

そうなの!JavaScriptでは、関数が実行されるたびに新しい実行コンテキストが作られるの。そして、それがスタックに積まれていくの!

Gal Pleased

実行コンテキストには、変数オブジェクト、スコープチェーン、thisなどの情報が含まれているの。

function outer() {
    let x = 10;

    function inner() {
        let y = 20;
        console.log(x + y);
    }

    inner();
}

outer();
Geek Happy

この例で言うと、 outer 関数と inner 関数がそれぞれ別の実行コンテキストを持っているんだね!

Gal Happy

そうなの! inner 関数は、自分の実行コンテキストのスコープチェーンを辿って、 outer 関数の変数 x にアクセスできるの!

  • おわりに スコープチェーンと実行コンテキストを理解することで、JavaScriptの変数や関数のアクセス範囲がより明確になります。これにより、より堅牢で効率的なコードを書くことができるようになりますね!🎉