2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

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

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

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

8.6 クロージャ

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

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

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

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

 
 

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

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

と思えるぐらいに。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?