回答編集履歴

1

実装方針の異なるコードを追加してみる

2018/04/09 07:46

投稿

defghi1977
defghi1977

スコア4756

test CHANGED
@@ -56,6 +56,68 @@
56
56
 
57
57
  a(false);
58
58
 
59
+ ```
60
+
61
+ ---
62
+
63
+ 何がベストかは判らんけれど, `bind`を使わないならこうか?
59
64
 
60
65
 
66
+
67
+ ```JavaScript
68
+
69
+ //エラーを握りつぶす関数
70
+
71
+ function test(f, ...arguments){
72
+
73
+ try{
74
+
75
+ return f(...arguments);
76
+
77
+ }catch(e){
78
+
79
+ return e;
80
+
81
+ }
82
+
83
+ }
84
+
85
+
86
+
87
+ //エラーの発生有無を戻り値がErrorかどうかで判断
88
+
89
+ function a(v){
90
+
91
+ const val = test(b, v);
92
+
93
+ console.log(val);
94
+
95
+ if(val instanceof Error){return;}
96
+
97
+ }
98
+
99
+
100
+
101
+ //エラーを発生させるかもしれない関数
102
+
103
+ function b(v){
104
+
105
+ if(v === true){
106
+
107
+ throw new Error("error");
108
+
109
+ }else{
110
+
111
+ return "success";
112
+
113
+ }
114
+
115
+ }
116
+
117
+
118
+
119
+ a(true);
120
+
121
+ a(false);
122
+
61
123
  ```