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

回答編集履歴

1

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

2018/04/09 07:46

投稿

defghi1977
defghi1977

スコア4756

answer CHANGED
@@ -27,5 +27,36 @@
27
27
 
28
28
  a(true);
29
29
  a(false);
30
+ ```
31
+ ---
32
+ 何がベストかは判らんけれど, `bind`を使わないならこうか?
30
33
 
34
+ ```JavaScript
35
+ //エラーを握りつぶす関数
36
+ function test(f, ...arguments){
37
+ try{
38
+ return f(...arguments);
39
+ }catch(e){
40
+ return e;
41
+ }
42
+ }
43
+
44
+ //エラーの発生有無を戻り値がErrorかどうかで判断
45
+ function a(v){
46
+ const val = test(b, v);
47
+ console.log(val);
48
+ if(val instanceof Error){return;}
49
+ }
50
+
51
+ //エラーを発生させるかもしれない関数
52
+ function b(v){
53
+ if(v === true){
54
+ throw new Error("error");
55
+ }else{
56
+ return "success";
57
+ }
58
+ }
59
+
60
+ a(true);
61
+ a(false);
31
62
  ```