回答編集履歴

10

語彙テーブル削除

2019/06/21 17:13

投稿

退会済みユーザー
test CHANGED
@@ -244,22 +244,6 @@
244
244
 
245
245
 
246
246
 
247
-
248
-
249
-
250
-
251
- | 日本語 | English |
252
-
253
- | ------ | ------- |
254
-
255
- | レキシカル環境 | lexical environment |
256
-
257
- |外側レキシカル環境 | outer lexical environment |
258
-
259
-
260
-
261
-
262
-
263
247
  # 追記
264
248
 
265
249
  高評価を頂けた方・冷静に適切なコメントを頂けた方、ありがとうございます。一部の荒らし者がコメントに混入してきた為、追記は削除しました(。•ㅅ•。)???? 通知でご迷惑をお掛けしていたら、すみません(。•ㅅ•。)????

9

字母 → レキシカル に修正

2019/06/21 17:13

投稿

退会済みユーザー
test CHANGED
@@ -1,8 +1,8 @@
1
- クロージャの仕組みは、字母環境(lexical environment)が関わってきます。
1
+ クロージャの仕組みは、レキシカル環境(lexical environment)が関わってきます。
2
-
3
-
4
-
2
+
3
+
4
+
5
- そして、字母環境というのは、JavaScriptエンジンの内部処理を規定するための概念・用語であり、実際のコード(JavaScript)でアクセスする事は出来ません。
5
+ そして、レキシカル環境というのは、JavaScriptエンジンの内部処理を規定するための概念・用語であり、実際のコード(JavaScript)でアクセスする事は出来ません。
6
6
 
7
7
 
8
8
 
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- > 字母環境は、....の定義に使用される仕様用のタイプです。
15
+ > レキシカル環境は、....の定義に使用される仕様用のタイプです。
16
16
 
17
17
  >
18
18
 
@@ -22,7 +22,7 @@
22
22
 
23
23
  > ...
24
24
 
25
- > 字母環境と環境記録の値は、純粋に仕様の仕組みであり、ECMAScript実装の特定の現実物に対応する必要はありません。 ECMAScriptプログラムがそのような値(字母環境・環境記録)に直接アクセスしたり操作したりすることは不可能です。
25
+ > レキシカル環境と環境記録の値は、純粋に仕様の仕組みであり、ECMAScript実装の特定の現実物に対応する必要はありません。 ECMAScriptプログラムがそのような値(レキシカル環境・環境記録)に直接アクセスしたり操作したりすることは不可能です。
26
26
 
27
27
  > ...
28
28
 
@@ -38,17 +38,17 @@
38
38
 
39
39
 
40
40
 
41
- # クロージャと字母環境の関係
41
+ # クロージャとレキシカル環境の関係
42
-
42
+
43
- ## 字母環境(lexical environment)
43
+ ## レキシカル環境(lexical environment)
44
-
45
-
46
-
44
+
45
+
46
+
47
- 字母環境とは、大まかにいうと、コード実行処理時に**形成される領域**と、それに伴う**変数の記録簿**の事です。また、両方を指す場合にも使われます。
47
+ レキシカル環境とは、大まかにいうと、コード実行処理時に**形成される領域**と、それに伴う**変数の記録簿**の事です。また、両方を指す場合にも使われます。
48
-
49
-
50
-
48
+
49
+
50
+
51
- コードが処理され始め、**グローバルが処理されている時**や**関数が呼び出された際**に、字母環境は生成されます。今JSエンジンが処理している部分を含む"領域"を**字母環境**といい、その外側を**外側字母環境**といいます。
51
+ コードが処理され始め、**グローバルが処理されている時**や**関数が呼び出された際**に、レキシカル環境は生成されます。今JSエンジンが処理している部分を含む"領域"を**レキシカル環境**といい、その外側を**外側レキシカル環境**といいます。
52
52
 
53
53
 
54
54
 
@@ -74,9 +74,9 @@
74
74
 
75
75
 
76
76
 
77
- 字母環境: `グローバル`
77
+ レキシカル環境: `グローバル`
78
-
78
+
79
- 外側字母環境: `null`
79
+ 外側レキシカル環境: `null`
80
80
 
81
81
 
82
82
 
@@ -84,15 +84,15 @@
84
84
 
85
85
 
86
86
 
87
- 字母環境には`goku`という識別子が記録されており、値`"Son Goku"`が対になって保存されています。
87
+ レキシカル環境には`goku`という識別子が記録されており、値`"Son Goku"`が対になって保存されています。
88
-
88
+
89
- グローバルの外側はないので、その様な場合、外側字母環境は`null`になります。
89
+ グローバルの外側はないので、その様な場合、外側レキシカル環境は`null`になります。
90
-
91
-
92
-
93
-
94
-
90
+
91
+
92
+
93
+
94
+
95
- また、先程述べたように、関数が呼び出された際にも、字母環境は生成されます。
95
+ また、先程述べたように、関数が呼び出された際にも、レキシカル環境は生成されます。
96
96
 
97
97
 
98
98
 
@@ -130,15 +130,15 @@
130
130
 
131
131
 
132
132
 
133
- 字母環境: `greeting関数内`
133
+ レキシカル環境: `greeting関数内`
134
-
134
+
135
- 外側字母環境: `グローバル`
135
+ 外側レキシカル環境: `グローバル`
136
-
137
-
138
-
139
-
140
-
136
+
137
+
138
+
139
+
140
+
141
- 処理がグローバル → 関数 へ移ると、関数内の新たな字母環境が生成され、グローバルを処理していた時に作成された字母環境は消滅します。
141
+ 処理がグローバル → 関数 へ移ると、関数内の新たなレキシカル環境が生成され、グローバルを処理していた時に作成されたレキシカル環境は消滅します。
142
142
 
143
143
 
144
144
 
@@ -148,7 +148,7 @@
148
148
 
149
149
  ## クロージャ(closure: 閉包)
150
150
 
151
- クロージャとは、関数が入れ子状で定義されており、且つ、コード実行時に内側の関数が返却された場合、その返却された関数の外側字母環境が維持される、というメカニズムです。
151
+ クロージャとは、関数が入れ子状で定義されており、且つ、コード実行時に内側の関数が返却された場合、その返却された関数の外側レキシカル環境が維持される、というメカニズムです。
152
152
 
153
153
 
154
154
 
@@ -160,7 +160,7 @@
160
160
 
161
161
  function outer() {
162
162
 
163
- // `inner`の外側 字母環境
163
+ // `inner`の外側 レキシカル環境
164
164
 
165
165
 
166
166
 
@@ -168,7 +168,7 @@
168
168
 
169
169
  function inner() {
170
170
 
171
- // `inner`の字母環境
171
+ // `inner`のレキシカル環境
172
172
 
173
173
 
174
174
 
@@ -184,19 +184,19 @@
184
184
 
185
185
 
186
186
 
187
- 関数`inner`の字母環境には、変数は宣言されていません。関数`inner`の外側字母環境には、変数`cnt`が宣言されています。
187
+ 関数`inner`のレキシカル環境には、変数は宣言されていません。関数`inner`の外側レキシカル環境には、変数`cnt`が宣言されています。
188
-
189
-
190
-
188
+
189
+
190
+
191
- 先程も言いましたが、関数が実行される際にこの字母環境は生成され、変数もそこに保存されます。そして、関数の処理が終われば、この両方の字母環境も消去されてしまいます。
191
+ 先程も言いましたが、関数が実行される際にこのレキシカル環境は生成され、変数もそこに保存されます。そして、関数の処理が終われば、この両方のレキシカル環境も消去されてしまいます。
192
-
193
-
194
-
192
+
193
+
194
+
195
- ところがです。関数を返却する関数の場合は(関数`outer`)、その返却された関数(関数`inner`)の外側字母環境は維持されたまま、関数にくっ付いた状態で返却されるのです。
195
+ ところがです。関数を返却する関数の場合は(関数`outer`)、その返却された関数(関数`inner`)の外側レキシカル環境は維持されたまま、関数にくっ付いた状態で返却されるのです。
196
-
197
-
198
-
196
+
197
+
198
+
199
- ですので、返却される予定の関数`inner`内で、その外側字母環境の変数`ctn`にアクセスするような処理を書いておくことにより、返却後、inner関数を実行することによって、維持された状態の外側字母環境(変数)にアクセスする事ができるのです。
199
+ ですので、返却される予定の関数`inner`内で、その外側レキシカル環境の変数`ctn`にアクセスするような処理を書いておくことにより、返却後、inner関数を実行することによって、維持された状態の外側レキシカル環境(変数)にアクセスする事ができるのです。
200
200
 
201
201
 
202
202
 
@@ -252,9 +252,9 @@
252
252
 
253
253
  | ------ | ------- |
254
254
 
255
- | 字母環境 | lexical environment |
255
+ | レキシカル環境 | lexical environment |
256
-
256
+
257
- |外側字母環境 | outer lexical environment |
257
+ |外側レキシカル環境 | outer lexical environment |
258
258
 
259
259
 
260
260
 

8

独自用語の訂正

2019/06/21 17:12

投稿

退会済みユーザー
test CHANGED
@@ -48,7 +48,7 @@
48
48
 
49
49
 
50
50
 
51
- コードが処理され始め、**全体的領域が処理されている時**や**関数が呼び出された際**に、字母環境は生成されます。今JSエンジンが処理している部分を含む"領域"を**字母環境**といい、その外側を**外側字母環境**といいます。
51
+ コードが処理され始め、**グローバルが処理されている時**や**関数が呼び出された際**に、字母環境は生成されます。今JSエンジンが処理している部分を含む"領域"を**字母環境**といい、その外側を**外側字母環境**といいます。
52
52
 
53
53
 
54
54
 
@@ -58,7 +58,7 @@
58
58
 
59
59
  ```js
60
60
 
61
- // 全体的領域
61
+ // グローバル
62
62
 
63
63
 
64
64
 
@@ -74,7 +74,7 @@
74
74
 
75
75
 
76
76
 
77
- 字母環境: `全体的領域`
77
+ 字母環境: `グローバル`
78
78
 
79
79
  外側字母環境: `null`
80
80
 
@@ -86,7 +86,7 @@
86
86
 
87
87
  字母環境には`goku`という識別子が記録されており、値`"Son Goku"`が対になって保存されています。
88
88
 
89
- 全体的領域の外側はないので、その様な場合、外側字母環境は`null`になります。
89
+ グローバルの外側はないので、その様な場合、外側字母環境は`null`になります。
90
90
 
91
91
 
92
92
 
@@ -98,7 +98,7 @@
98
98
 
99
99
  ```js
100
100
 
101
- // 全体的領域
101
+ // グローバル
102
102
 
103
103
 
104
104
 
@@ -110,7 +110,7 @@
110
110
 
111
111
  function greeting(){
112
112
 
113
- // 部分的領域(ローカル)
113
+ // ローカル(ローカル)
114
114
 
115
115
  ←(処理点)
116
116
 
@@ -132,13 +132,13 @@
132
132
 
133
133
  字母環境: `greeting関数内`
134
134
 
135
- 外側字母環境: `全体的領域`
135
+ 外側字母環境: `グローバル`
136
-
137
-
138
-
139
-
140
-
136
+
137
+
138
+
139
+
140
+
141
- 処理が全体的領域 → 関数 へ移ると、関数内の新たな字母環境が生成され、全体的領域を処理していた時に作成された字母環境は消滅します。
141
+ 処理がグローバル → 関数 へ移ると、関数内の新たな字母環境が生成され、グローバルを処理していた時に作成された字母環境は消滅します。
142
142
 
143
143
 
144
144
 
@@ -234,7 +234,7 @@
234
234
 
235
235
 
236
236
 
237
- ### 術(メソッド)によるクロージャ
237
+ ### メソッドによるクロージャ
238
238
 
239
239
  今後、余裕があれば追記致します(。•ㅅ•。)
240
240
 
@@ -256,20 +256,6 @@
256
256
 
257
257
  |外側字母環境 | outer lexical environment |
258
258
 
259
- |部分的領域(ローカル) | local |
260
-
261
- |全体的領域(グローバル) | global |
262
-
263
- |変数領域の鎖(スコープチェーン) | scope chain |
264
-
265
- |閉包(クロージャ) | closure |
266
-
267
- |術(メソッド) | method
268
-
269
- |性質(プロパティ) | property
270
-
271
- |物体(オブジェクト) | object
272
-
273
259
 
274
260
 
275
261
 

7

誤字訂正

2019/06/21 12:52

投稿

退会済みユーザー
test CHANGED
@@ -276,4 +276,4 @@
276
276
 
277
277
  # 追記
278
278
 
279
- 高評価を頂けた方・冷静に適切なコメントを頂けた方、ありがとうございます。一部の荒らし者が混入コメントに混入してきた為、追記は削除しました(。•ㅅ•。)???? 通知でご迷惑をお掛けしていたら、すみません(。•ㅅ•。)????
279
+ 高評価を頂けた方・冷静に適切なコメントを頂けた方、ありがとうございます。一部の荒らし者がコメントに混入してきた為、追記は削除しました(。•ㅅ•。)???? 通知でご迷惑をお掛けしていたら、すみません(。•ㅅ•。)????

6

字句→字母 に戻し

2019/06/21 08:35

投稿

退会済みユーザー
test CHANGED
@@ -1,8 +1,8 @@
1
- クロージャの仕組みは、字環境(lexical environment)が関わってきます。
1
+ クロージャの仕組みは、字環境(lexical environment)が関わってきます。
2
-
3
-
4
-
2
+
3
+
4
+
5
- そして、字環境というのは、JavaScriptエンジンの内部処理を規定するための概念・用語であり、実際のコード(JavaScript)でアクセスする事は出来ません。
5
+ そして、字環境というのは、JavaScriptエンジンの内部処理を規定するための概念・用語であり、実際のコード(JavaScript)でアクセスする事は出来ません。
6
6
 
7
7
 
8
8
 
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
 
15
- > 字環境は、....の定義に使用される仕様用のタイプです。
15
+ > 字環境は、....の定義に使用される仕様用のタイプです。
16
16
 
17
17
  >
18
18
 
@@ -22,7 +22,7 @@
22
22
 
23
23
  > ...
24
24
 
25
- > 字環境と環境記録の値は、純粋に仕様の仕組みであり、ECMAScript実装の特定の現実物に対応する必要はありません。 ECMAScriptプログラムがそのような値(字環境・環境記録)に直接アクセスしたり操作したりすることは不可能です。
25
+ > 字環境と環境記録の値は、純粋に仕様の仕組みであり、ECMAScript実装の特定の現実物に対応する必要はありません。 ECMAScriptプログラムがそのような値(字環境・環境記録)に直接アクセスしたり操作したりすることは不可能です。
26
26
 
27
27
  > ...
28
28
 
@@ -38,17 +38,17 @@
38
38
 
39
39
 
40
40
 
41
- # クロージャと字環境の関係
41
+ # クロージャと字環境の関係
42
-
42
+
43
- ## 字環境(lexical environment)
43
+ ## 字環境(lexical environment)
44
-
45
-
46
-
44
+
45
+
46
+
47
- 環境とは、大まかにいうと、コード実行処理時に**形成される領域**と、それに伴う**変数の記録簿**の事です。また、両方を指す場合にも使われます。
47
+ 環境とは、大まかにいうと、コード実行処理時に**形成される領域**と、それに伴う**変数の記録簿**の事です。また、両方を指す場合にも使われます。
48
-
49
-
50
-
48
+
49
+
50
+
51
- コードが処理され始め、**全体的領域が処理されている時**や**関数が呼び出された際**に、字環境は生成されます。今JSエンジンが処理している部分を含む"領域"を**字環境**といい、その外側を**外側字環境**といいます。
51
+ コードが処理され始め、**全体的領域が処理されている時**や**関数が呼び出された際**に、字環境は生成されます。今JSエンジンが処理している部分を含む"領域"を**字環境**といい、その外側を**外側字環境**といいます。
52
52
 
53
53
 
54
54
 
@@ -74,9 +74,9 @@
74
74
 
75
75
 
76
76
 
77
- 環境: `全体的領域`
77
+ 環境: `全体的領域`
78
-
78
+
79
- 外側字環境: `null`
79
+ 外側字環境: `null`
80
80
 
81
81
 
82
82
 
@@ -84,15 +84,15 @@
84
84
 
85
85
 
86
86
 
87
- 環境には`goku`という識別子が記録されており、値`"Son Goku"`が対になって保存されています。
87
+ 環境には`goku`という識別子が記録されており、値`"Son Goku"`が対になって保存されています。
88
-
88
+
89
- 全体的領域の外側はないので、その様な場合、外側字環境は`null`になります。
89
+ 全体的領域の外側はないので、その様な場合、外側字環境は`null`になります。
90
-
91
-
92
-
93
-
94
-
90
+
91
+
92
+
93
+
94
+
95
- また、先程述べたように、関数が呼び出された際にも、字環境は生成されます。
95
+ また、先程述べたように、関数が呼び出された際にも、字環境は生成されます。
96
96
 
97
97
 
98
98
 
@@ -130,15 +130,15 @@
130
130
 
131
131
 
132
132
 
133
- 環境: `greeting関数内`
133
+ 環境: `greeting関数内`
134
-
134
+
135
- 外側字環境: `全体的領域`
135
+ 外側字環境: `全体的領域`
136
-
137
-
138
-
139
-
140
-
136
+
137
+
138
+
139
+
140
+
141
- 処理が全体的領域 → 関数 へ移ると、関数内の新たな字環境が生成され、全体的領域を処理していた時に作成された字環境は消滅します。
141
+ 処理が全体的領域 → 関数 へ移ると、関数内の新たな字環境が生成され、全体的領域を処理していた時に作成された字環境は消滅します。
142
142
 
143
143
 
144
144
 
@@ -148,7 +148,7 @@
148
148
 
149
149
  ## クロージャ(closure: 閉包)
150
150
 
151
- クロージャとは、関数が入れ子状で定義されており、且つ、コード実行時に内側の関数が返却された場合、その返却された関数の外側字環境が維持される、というメカニズムです。
151
+ クロージャとは、関数が入れ子状で定義されており、且つ、コード実行時に内側の関数が返却された場合、その返却された関数の外側字環境が維持される、というメカニズムです。
152
152
 
153
153
 
154
154
 
@@ -160,7 +160,7 @@
160
160
 
161
161
  function outer() {
162
162
 
163
- // `inner`の外側 字環境
163
+ // `inner`の外側 字環境
164
164
 
165
165
 
166
166
 
@@ -168,7 +168,7 @@
168
168
 
169
169
  function inner() {
170
170
 
171
- // `inner`の字環境
171
+ // `inner`の字環境
172
172
 
173
173
 
174
174
 
@@ -184,19 +184,19 @@
184
184
 
185
185
 
186
186
 
187
- 関数`inner`の字環境には、変数は宣言されていません。関数`inner`の外側字環境には、変数`cnt`が宣言されています。
187
+ 関数`inner`の字環境には、変数は宣言されていません。関数`inner`の外側字環境には、変数`cnt`が宣言されています。
188
-
189
-
190
-
188
+
189
+
190
+
191
- 先程も言いましたが、関数が実行される際にこの字環境は生成され、変数もそこに保存されます。そして、関数の処理が終われば、この両方の字環境も消去されてしまいます。
191
+ 先程も言いましたが、関数が実行される際にこの字環境は生成され、変数もそこに保存されます。そして、関数の処理が終われば、この両方の字環境も消去されてしまいます。
192
-
193
-
194
-
192
+
193
+
194
+
195
- ところがです。関数を返却する関数の場合は(関数`outer`)、その返却された関数(関数`inner`)の外側字環境は維持されたまま、関数にくっ付いた状態で返却されるのです。
195
+ ところがです。関数を返却する関数の場合は(関数`outer`)、その返却された関数(関数`inner`)の外側字環境は維持されたまま、関数にくっ付いた状態で返却されるのです。
196
-
197
-
198
-
196
+
197
+
198
+
199
- ですので、返却される予定の関数`inner`内で、その外側字環境の変数`ctn`にアクセスするような処理を書いておくことにより、返却後、inner関数を実行することによって、維持された状態の外側字環境(変数)にアクセスする事ができるのです。
199
+ ですので、返却される予定の関数`inner`内で、その外側字環境の変数`ctn`にアクセスするような処理を書いておくことにより、返却後、inner関数を実行することによって、維持された状態の外側字環境(変数)にアクセスする事ができるのです。
200
200
 
201
201
 
202
202
 
@@ -252,9 +252,9 @@
252
252
 
253
253
  | ------ | ------- |
254
254
 
255
- | 字環境 | lexical environment |
255
+ | 字環境 | lexical environment |
256
-
256
+
257
- |外側字環境 | outer lexical environment |
257
+ |外側字環境 | outer lexical environment |
258
258
 
259
259
  |部分的領域(ローカル) | local |
260
260
 

5

荒らしコメが多いため、追記削除

2019/06/21 08:32

投稿

退会済みユーザー
test CHANGED
@@ -274,12 +274,6 @@
274
274
 
275
275
 
276
276
 
277
- # 追記[19.06.21]
277
+ # 追記
278
-
279
- ## 低評価を押された方へのお願い????
278
+
280
-
281
- 以下の項目該当る場合、理由を言でもよろいのでコメントきたく存じ???? お手数ですが宜くお願致しす<(_ _)>????
279
+ 高評価を頂けた方・冷静適切なコメントを頂けた方、ありがとうございま部の荒ら者が混入コメントに混入してきた為、追記は削除しした(。•ㅅ•。)???? 通知でご迷惑を掛けたら、すみせん(。•ㅅ•。)????
282
-
283
-
284
-
285
- - 回答に間違いが含まれる

4

変値→変数 訂正

2019/06/21 05:44

投稿

退会済みユーザー
test CHANGED
@@ -44,7 +44,7 @@
44
44
 
45
45
 
46
46
 
47
- 字句環境とは、大まかにいうと、コード実行処理時に**形成される領域**と、それに伴う**変の記録簿**の事です。また、両方を指す場合にも使われます。
47
+ 字句環境とは、大まかにいうと、コード実行処理時に**形成される領域**と、それに伴う**変の記録簿**の事です。また、両方を指す場合にも使われます。
48
48
 
49
49
 
50
50
 
@@ -260,7 +260,7 @@
260
260
 
261
261
  |全体的領域(グローバル) | global |
262
262
 
263
- |変領域の鎖(スコープチェーン) | scope chain |
263
+ |変領域の鎖(スコープチェーン) | scope chain |
264
264
 
265
265
  |閉包(クロージャ) | closure |
266
266
 

3

お願い追記

2019/06/21 04:19

投稿

退会済みユーザー
test CHANGED
@@ -269,3 +269,17 @@
269
269
  |性質(プロパティ) | property
270
270
 
271
271
  |物体(オブジェクト) | object
272
+
273
+
274
+
275
+
276
+
277
+ # 追記[19.06.21]
278
+
279
+ ## 低評価を押された方へのお願い????
280
+
281
+ 以下の項目に該当する場合、理由を一言でもよろしいのでコメント頂きたく存じます???? お手数ですが宜しくお願い致します<(_ _)>????
282
+
283
+
284
+
285
+ - 回答に間違いが含まれる

2

包囲→閉包

2019/06/21 04:18

投稿

退会済みユーザー
test CHANGED
@@ -146,7 +146,7 @@
146
146
 
147
147
 
148
148
 
149
- ## クロージャ(closure: 包)
149
+ ## クロージャ(closure: 包)
150
150
 
151
151
  クロージャとは、関数が入れ子状で定義されており、且つ、コード実行時に内側の関数が返却された場合、その返却された関数の外側字句環境が維持される、というメカニズムです。
152
152
 
@@ -262,7 +262,7 @@
262
262
 
263
263
  |変値領域の鎖(スコープチェーン) | scope chain |
264
264
 
265
- |包(クロージャ) | closure |
265
+ |包(クロージャ) | closure |
266
266
 
267
267
  |術(メソッド) | method
268
268
 

1

誤字修正

2019/06/21 04:11

投稿

退会済みユーザー
test CHANGED
@@ -138,7 +138,7 @@
138
138
 
139
139
 
140
140
 
141
- 処理が全体的領域 → 関数 へ移ると、関数内の新たな字句環境が生成され、全体的領域を実装していた時に作成された字句環境は消滅します。
141
+ 処理が全体的領域 → 関数 へ移ると、関数内の新たな字句環境が生成され、全体的領域を処理していた時に作成された字句環境は消滅します。
142
142
 
143
143
 
144
144