回答編集履歴
2
返って→かえって
answer
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
クロージャには色々な使い方があり色々な側面があります、ですので、色々な説明があります
|
7
7
|
誤解を恐れずにざっくり説明するのであれば、クロージャの特異性は**本来破棄されるはずのスコープ外のローカル変数を束縛できる**という事です。
|
8
|
-
ローカル変数の束縛を伴わないクロージャは他の手段で代替可能ですし、
|
8
|
+
ローカル変数の束縛を伴わないクロージャは他の手段で代替可能ですし、かえってわかりにくいコードになりがちです。
|
9
9
|
|
10
10
|
なお、こちらの質問で様々な方がクロージャについて説明しています。
|
11
11
|
ぜひ一読するとよいと思います。
|
1
少しだけ単語を追加
answer
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
> 私の考え方では、クロージャとは、クラスのprivateメンバにアクセスできないのと同様に、本来ならアクセスできないスコープ外の変数を、ラムダ式や無名関数でアクセスできるようにする手段、と理解しています。
|
2
2
|
|
3
3
|
半分合ってますが、半分間違いです。
|
4
|
-
スコープ
|
4
|
+
他スコープの変数であれば、仰る通り他の方法でいくらでもアクセスできます、わざわざクロージャなどを使う必要はありません。
|
5
5
|
|
6
6
|
クロージャには色々な使い方があり色々な側面があります、ですので、色々な説明があります
|
7
|
-
|
7
|
+
誤解を恐れずにざっくり説明するのであれば、クロージャの特異性は**本来破棄されるはずのスコープ外のローカル変数を束縛できる**という事です。
|
8
8
|
ローカル変数の束縛を伴わないクロージャは他の手段で代替可能ですし、返ってわかりにくいコードになりがちです。
|
9
9
|
|
10
10
|
なお、こちらの質問で様々な方がクロージャについて説明しています。
|