1. jun68ykt

    Posted

    jun68ykt
Changes in title
+JavaScriptのすべての関数はクロージャを定義します。(読書メモ)
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,31 @@
+過去に、JavaScriptにおけるクロージャの説明を書籍からメモしました。
+
+- [クロージャを一言で表すと (読書メモ)](http://qiita.com/jun68ykt/items/58ea6085e1304c025836)
+- [いよいよ「クロージャとは何か」という質問に答えよう。(読書メモ)](http://qiita.com/jun68ykt/items/88069b1c83e496b4ff16)
+
+これらに続き、別の本で分かりやすい説明を見つけたので、メモしておきます。
+
+以下、[徹底マスターJavaScriptの教科書](https://www.amazon.co.jp/dp/4797388641)より引用
+
+> ## 8.6 クロージャ
+
+> JavaScriptのすべての関数はクロージャを定義します。クロージャはJavaScriptの強力な機能で、
+これによって変数の隠蔽や永続化など、さまざまなことを実現できます。JavaScript はSchemeから
+大きな影響を受けて言語仕様が決定されましたが、クロージャもSchemeから持ち込まれた機能です。
+
+> ### [1] クロージャ(関数閉包)
+
+> **クロージャ(関数閉包)**とは、プログラミング言語における用語で、次のような関数とそのような関数
+の機能を実現するデータ構造とを合わせたものをいいます。
+
+> **「自分自身が定義された環境において、関数内の自由変数の名前解決を行う」**
+
+ 
+ 
+
+ この本のクロージャの説明と事例は、とても分かりやすくてよかった。
+どのくらい分かりやすいかといえば、
+
+「ここから先、さらに理解を深めるには、JavaScriptインタプリタのソースを読むしかない」
+
+と思えるぐらいに。