1
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

JavaScriptのすべての関数はクロージャを定義します。(読書メモ)

過去に、JavaScriptにおけるクロージャの説明を書籍からメモしました。

これらに続き、別の本で分かりやすい説明を見つけたので、メモしておきます。

以下、徹底マスターJavaScriptの教科書より引用

8.6 クロージャ

 JavaScriptのすべての関数はクロージャを定義します。クロージャはJavaScriptの強力な機能で、
これによって変数の隠蔽や永続化など、さまざまなことを実現できます。JavaScript はSchemeから
大きな影響を受けて言語仕様が決定されましたが、クロージャもSchemeから持ち込まれた機能です。

[1] クロージャ(関数閉包)

 クロージャ(関数閉包)とは、プログラミング言語における用語で、次のような関数とそのような関数
の機能を実現するデータ構造とを合わせたものをいいます。

「自分自身が定義された環境において、関数内の自由変数の名前解決を行う」

 
 

 この本のクロージャの説明と事例は、とても分かりやすくてよかった。
どのくらい分かりやすいかといえば、

「ここから先、さらに理解を深めるには、JavaScriptインタプリタのソースを読むしかない」

と思えるぐらいに。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?