回答編集履歴
5
強調表示範囲を修正
answer
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
> console.log(countUpFromZero()); // 出力:3
|
57
57
|
> ```
|
58
58
|
|
59
|
-
このコード全体を指していると仮定するなら、**console.log()の評価値が
|
59
|
+
このコード全体を指していると仮定するなら、**console.log()の評価値がundefined**だからです。
|
60
60
|
|
61
61
|
- [1.1.6. log(...data) - Console Standard](https://console.spec.whatwg.org/#log)
|
62
62
|
|
4
Console Standard
answer
CHANGED
@@ -57,6 +57,9 @@
|
|
57
57
|
> ```
|
58
58
|
|
59
59
|
このコード全体を指していると仮定するなら、**console.log()の評価値がundefine**dだからです。
|
60
|
+
|
61
|
+
- [1.1.6. log(...data) - Console Standard](https://console.spec.whatwg.org/#log)
|
62
|
+
|
60
63
|
Chrome Developper Toolsはコンソールでコード実行時に、**最後の文(Statement)の評価値**を返します。
|
61
64
|
|
62
65
|
Re: tanakashouzoux さん
|
3
parent,childともに呼び出されていない為、変数count は存在しない
answer
CHANGED
@@ -31,7 +31,7 @@
|
|
31
31
|
return function child () { return ++count; };
|
32
32
|
}
|
33
33
|
|
34
|
-
//
|
34
|
+
// parent,childともに呼び出されていない為、変数count は存在しない
|
35
35
|
|
36
36
|
var countUpFromZero = parent(); // parentが呼び出される為、count === 0 (childは呼び出されていない為、インクリメントは発生しない)
|
37
37
|
console.log(countUpFromZero()); // 1 (childが呼び出される)
|
2
Chrome Developper Tools
answer
CHANGED
@@ -57,6 +57,6 @@
|
|
57
57
|
> ```
|
58
58
|
|
59
59
|
このコード全体を指していると仮定するなら、**console.log()の評価値がundefine**dだからです。
|
60
|
-
コンソール
|
60
|
+
Chrome Developper Toolsはコンソールでコード実行時に、**最後の文(Statement)の評価値**を返します。
|
61
61
|
|
62
62
|
Re: tanakashouzoux さん
|
1
console.log()の評価値がundefined
answer
CHANGED
@@ -41,4 +41,22 @@
|
|
41
41
|
|
42
42
|
「上記コード」が何を指しているのか、不明です。
|
43
43
|
|
44
|
+
> ```JavaScript
|
45
|
+
> var countUpFromZero = function() {
|
46
|
+
> var count = 0;
|
47
|
+
> return function() { // 子関数を返す
|
48
|
+
> return ++count; // 変数 count は親関数で定義されている
|
49
|
+
> };
|
50
|
+
> }(); // countUpFromZero は呼ばれると即時実行し、無名関数を返す
|
51
|
+
> /* countUpFromZero() に返された子関数はその親関数の変数 count にアクセスする必要がある
|
52
|
+
> ため、それを保持する。countUpFromZero() を実行するたびに return ++count が実行される。
|
53
|
+
> */
|
54
|
+
> console.log(countUpFromZero()); // 出力:1
|
55
|
+
> console.log(countUpFromZero()); // 出力:2
|
56
|
+
> console.log(countUpFromZero()); // 出力:3
|
57
|
+
> ```
|
58
|
+
|
59
|
+
このコード全体を指していると仮定するなら、**console.log()の評価値がundefine**dだからです。
|
60
|
+
コンソールによるコード実行は、**最後の文(Statement)の評価値**を返します。
|
61
|
+
|
44
62
|
Re: tanakashouzoux さん
|