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

回答編集履歴

5

強調表示範囲を修正

2020/06/14 12:46

投稿

think49
think49

スコア18194

answer CHANGED
@@ -56,7 +56,7 @@
56
56
  > console.log(countUpFromZero()); // 出力:3
57
57
  > ```
58
58
 
59
- このコード全体を指していると仮定するなら、**console.log()の評価値がundefine**dだからです。
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

2020/06/14 12:45

投稿

think49
think49

スコア18194

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 は存在しない

2020/06/14 12:45

投稿

think49
think49

スコア18194

answer CHANGED
@@ -31,7 +31,7 @@
31
31
  return function child () { return ++count; };
32
32
  }
33
33
 
34
- // count === 0 (parent,childともに呼び出されていない)
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

2020/06/14 12:39

投稿

think49
think49

スコア18194

answer CHANGED
@@ -57,6 +57,6 @@
57
57
  > ```
58
58
 
59
59
  このコード全体を指していると仮定するなら、**console.log()の評価値がundefine**dだからです。
60
- コンソールによるコード実行、**最後の文(Statement)の評価値**を返します。
60
+ Chrome Developper Toolsはコンソールコード実行時に、**最後の文(Statement)の評価値**を返します。
61
61
 
62
62
  Re: tanakashouzoux さん

1

console.log()の評価値がundefined

2020/06/14 12:20

投稿

think49
think49

スコア18194

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 さん