[JavaScript] 猿でもわかるクロージャ超入門 まとめ
クロージャとは
クロージャは、言葉で説明するのが大変難しい概念です。あなたは、自転車の乗り方を、口だけで説明できるでしょうか?
あなたは、螺旋(らせん)の形を、言葉だけで説明できるでしょうか?
ずばり、できないでしょう。
しかし、自転車に乗ることはできますし、針金で螺旋の形を作ることはできるでしょう。
「クロージャ」もこれと同じです。
だから、Wikipediaのこんな解説を見ても落ち込まないでください。
クロージャ (クロージャー、Closure) は、プログラミング言語において引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決する関数のことである。理解できないですよね?
私もそうでした。
クロージャを既に知っている人にしか、この文章は理解できないでしょう。
クロージャを作るのは難しくない
しかし、説明するのは難しくても、作るのは意外と簡単。それがクロージャです。手元にウェブブラザさえあれば、誰でもクロージャは作れます。
準備はいいですか?
これから一緒にクロージャを作りましょう!
目次
- 猿でもわかるクロージャ超入門 1 問題
クロージャを使うと何ができるのか? - 猿でもわかるクロージャ超入門 2 関数の中の関数
Javascriptでは関数の中に関数を作れます。 - 猿でもわかるクロージャ超入門 3 無名関数
匿名はお好き? - 猿でもわかるクロージャ超入門 4 関数を返す関数
関数の戻り値が関数だったなら - 猿でもわかるクロージャ超入門 5 クロージャを作る
あ、できちゃった! - 猿でもわかるクロージャ超入門 6 クロージャの応用例「注文ボタン」
参考になったページ
クロージャを理解する手がかりになったページ
- nothing but ordinary - JavaScript はじめてのクロージャ入門
ここが一番わかりやすかった。 - クロージャとは - はてなキーワード
Wikipediaよりは分かりやすかった。 - JavaScriptクロージャを完全理解!スコープチェインを知る(後編) - page2 - builder by ZDNet Japan
カウンタの例がシンプルでわかりやすかった。 - JavaScript クロージャとレキシカルスコープ - Backstage of theater.js
「内部関数とクロージャはほぼ同義」という説明が、クロージャを理解するヒントになりました。
長いページですが、最初の数十行読むだけで充分よいヒントが得られます。
クロージャを理解した後で読むと目からウロコなページ
- Life is beautiful: Javascriptクイズ(中級者向け):無名関数と実行効率の話
無名関数をどういう場面で使うと効果的かがよくわかった。 - Life is beautiful: Javascript、クロージャを使ったプライベート関数の隠蔽について
クロージャをどういう場面で使うと効果的かかがよくわかった。ほおぉ。まさに目からウロコ。 - jQueryのソースコードを読むための参考サイト20選 - DQNEO起業日記
jQueryの中身はクロージャのオンパレードです。逆にクロジャーがわかっていれば、ソースコードを読み解くことができます。 - クロージャの定義 - Perl入門~サンプルコードによるPerl入門~
Perlにおけるクロージャが良く分かった。シンプルな説明がステキです。 - [Perl]猿でもわかるクロージャ超入門
Perlでのクロージャ入門
蛇足:「螺旋」を言葉で説明すると
「回転しながら回転面に垂直成分のある方向へ上昇する曲線」(Wikipeidaより)
だそうですw
カテゴリ:
JavaScript
closure