teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

誤字を訂正

2019/08/19 10:29

投稿

slimat
slimat

スコア57

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  こんにちは。
2
2
 
3
- JavaScriptの解説サイト: [クロージャーがなぜ動くのか](https://jsprimer.net/basic/function-scope/) のクロージャの説明部分で以下のコードがあるのですが、コメントの「`increment`関数は外のスコープの変数`count`を参照している」で、なぜ"関数"が"変数"を参照できるという仕組みがあるのか分からないです。関数が変数を参照するということなど今まで見たことがないのですが、、、変数が値を参照すという仕組みがあることなら知っていますが、、、
3
+ JavaScriptの解説サイト: [クロージャーがなぜ動くのか](https://jsprimer.net/basic/function-scope/) のクロージャの説明部分で以下のコードがあるのですが、コメントの「`increment`関数は外のスコープの変数`count`を参照している」で、なぜ"関数"が"変数"を参照できるという仕組みがあるのか分からないです。関数が変数を参照するということなど今まで見たことがないのですが、、、変数が値を参照すという仕組みがあることなら知っていますが、、、
4
4
  ```JavaScript
5
5
  const createCounter = () => {
6
6
  let count = 0;

3

質問文を修正

2019/08/19 10:29

投稿

slimat
slimat

スコア57

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,6 @@
1
1
  こんにちは。
2
2
 
3
- JavaScriptの解説サイト: [クロージャーがなぜ動くのか](https://jsprimer.net/basic/function-scope/) のクロージャの説明部分で以下のコードがあるのですが、コメントの「`increment`関数は外のスコープの変数`count`を参照している」で、なぜ"関数"が"変数"を参照るのか分からないです。
4
- また、同サイトで以下の解説が書かれていましたが、この2番目にも上と同じようなことが書かれています。
5
- > つまり次のような参照の関係がmyCounter変数とcount変数の間にはあることがわかります。
6
- ・myCounter変数はcreateCounter関数の返り値であるincrement関数を参照している
7
- ・myCounter変数はincrement関数を経由してcount変数を参照している
8
- ・myCounter変数を実行した後もcount変数を参照している
9
-
3
+ JavaScriptの解説サイト: [クロージャーがなぜ動くのか](https://jsprimer.net/basic/function-scope/) のクロージャの説明部分で以下のコードがあるのですが、コメントの「`increment`関数は外のスコープの変数`count`を参照している」で、なぜ"関数"が"変数"を参照できという仕組みがあるのか分からないです。関数が変数を参照するということなど今まで見たことがないのですが、、、変数が値を参照すという仕組みがあることなら知っていますが、、、
10
4
  ```JavaScript
11
5
  const createCounter = () => {
12
6
  let count = 0;

2

リンクしている文字列を適切なものに訂正

2019/04/01 03:45

投稿

slimat
slimat

スコア57

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  こんにちは。
2
2
 
3
- JavaScriptの解説サイト: [リン内容](https://jsprimer.net/basic/function-scope/)のクロージャの説明部分で以下のコードがあるのですが、コメントの「`increment`関数は外のスコープの変数`count`を参照している」で、なぜ"関数"が"変数"を参照するのかが分からないです。
3
+ JavaScriptの解説サイト: [クロージャーがなぜ動くのか](https://jsprimer.net/basic/function-scope/) のクロージャの説明部分で以下のコードがあるのですが、コメントの「`increment`関数は外のスコープの変数`count`を参照している」で、なぜ"関数"が"変数"を参照するのかが分からないです。
4
4
  また、同サイトで以下の解説が書かれていましたが、この2番目にも上と同じようなことが書かれています。
5
5
  > つまり次のような参照の関係がmyCounter変数とcount変数の間にはあることがわかります。
6
6
  ・myCounter変数はcreateCounter関数の返り値であるincrement関数を参照している

1

コードの続きを追記

2019/03/31 09:47

投稿

slimat
slimat

スコア57

title CHANGED
File without changes
body CHANGED
@@ -17,6 +17,11 @@
17
17
  return count;
18
18
  };
19
19
  };
20
+ // createCounter()の実行結果は、内側で定義されていた`increment`関数
21
+ const myCounter = createCounter();
22
+ // myCounter関数の実行結果は`count`の評価結果
23
+ console.log(myCounter()); // => 1
24
+ console.log(myCounter()); // => 2
20
25
  ```
21
26
 
22
27
  よろしくお願い致します。