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

回答編集履歴

2

コードのconst/let付け忘れ

2018/04/22 11:32

投稿

KSwordOfHaste
KSwordOfHaste

スコア18406

answer CHANGED
@@ -14,10 +14,10 @@
14
14
  const func_name = f.prototype.constructor.name
15
15
  return [
16
16
  function () {
17
- args = [...arguments].join(", ")
17
+ const args = [...arguments].join(", ")
18
18
  log(`${nest}invoking ${func_name}(${args})`)
19
19
  nest += ' '
20
- result = f.apply(this, arguments)
20
+ let result = f.apply(this, arguments)
21
21
  nest = nest.slice(1)
22
22
  log(`${nest}result is ${result}`)
23
23
  return result

1

実行結果を追記

2018/04/22 11:32

投稿

KSwordOfHaste
KSwordOfHaste

スコア18406

answer CHANGED
@@ -46,7 +46,23 @@
46
46
  fact = original_fact
47
47
  log("fact(3) = " + fact(3))
48
48
  ```
49
-
49
+ 結果:
50
+ ```
51
+ --- original function ---
52
+ fact(3) = 6
53
+ --- trace function ---
54
+ invoking fact(3)
55
+ invoking fact(2)
56
+ invoking fact(1)
57
+ invoking fact(0)
58
+ result is 1
59
+ result is 1
60
+ result is 2
61
+ result is 6
62
+ fact(3) = 6
63
+ --- untrace function ---
64
+ fact(3) = 6
65
+ ```
50
66
  少し本質的でないところに手を入れてしまってます。分かりづらかったらスミマセン。
51
67
 
52
68
  ES5で書かないといけないというわけでもないと思ったのでES2015で書いているつもりですが「どの言語仕様に準拠しているか」あまり意識出来てません。おかしなところがあったらご指摘いただければ嬉しいです。