タグ

クロージャに関するapo-coのブックマーク (2)

  • JavaScriptクロージャを完全理解!スコープチェインを知る(後編) - builder by ZDNet Japan

    前回はスコープチェインのお話に入るための予備知識として「変数オブジェクト」についてのお話をしました。それを踏まえて、今回はスコープチェインと、それによって実現されているクロージャについてしっかり学んでいきたいと思います。 スコープチェインとは 変数オブジェクトに関する説明はしっかりご理解頂けましたでしょうか?JavaScriptの変数は、全て変数オブジェクトのプロパティとして扱われている事、そして変数オブジェクトは状況に応じて違うものが使われる(グローバルスコープであればグローバルオブジェクト、ローカルスコープであれば目に見えない変数オブジェクト)というものでした。ローカルスコープに対応する変数オブジェクトは「アクティベーションオブジェクト」と呼ばれ、関数呼び出しが行われると自動的に作成されます。 しかし実際は、変数を参照するという事は、その場における変数オブジェクト「だけ」を探す訳ではあ

    JavaScriptクロージャを完全理解!スコープチェインを知る(後編) - builder by ZDNet Japan
  • [JavaScript] 猿でもわかるクロージャ超入門 まとめ - DQNEO起業日記

    クロージャとは クロージャは、言葉で説明するのが大変難しい概念です。 あなたは、自転車の乗り方を、口だけで説明できるでしょうか? あなたは、螺旋(らせん)の形を、言葉だけで説明できるでしょうか? ずばり、できないでしょう。 しかし、自転車に乗ることはできますし、針金で螺旋の形を作ることはできるでしょう。 「クロージャ」もこれと同じです。 だから、Wikipediaのこんな解説を見ても落ち込まないでください。 クロージャ (クロージャー、Closure) は、プログラミング言語において引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決する関数のことである。 理解できないですよね? 私もそうでした。 クロージャを既に知っている人にしか、この文章は理解できないでしょう。 クロージャを作るのは難しくない しかし、説明するのは難しくても、作るのは意外と簡単。それが

  • 1