回答編集履歴

2

typo修正

2018/03/01 07:30

投稿

think49
think49

スコア18166

test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  }
16
16
 
17
- ````
17
+ ```
18
18
 
19
19
 
20
20
 

1

try-catch は使用しません

2018/03/01 07:30

投稿

think49
think49

スコア18166

test CHANGED
@@ -1,10 +1,14 @@
1
+ ### throw 文
2
+
3
+
4
+
1
5
  それがエラーであるなら、エラーメッセージを出力して強制終了させることは可能です。
2
6
 
3
7
 
4
8
 
5
9
  ```JavaScript
6
10
 
7
- function test () {
11
+ function test () {
8
12
 
9
13
  throw new Error('fooはbarでなければなりません');
10
14
 
@@ -14,7 +18,89 @@
14
18
 
15
19
 
16
20
 
21
+ > 例外キャッチか戻り値判定の2択なのですね。
22
+
23
+
24
+
25
+ x_x さんが仰るように、try-catch は使用しません。
26
+
27
+ throw はエラーをコンソールに出力してその場で即座に強制終了する為の機構です。
28
+
29
+ JavaScript には「不正な引数であった場合に強制終了する仕組み」があります。
30
+
31
+
32
+
33
+ ```JavaScript
34
+
35
+ (2).toString(-1); // RangeError: toString() radix argument must be between 2 and 36
36
+
37
+ ```
38
+
39
+
40
+
41
+ ### return 文
42
+
43
+
44
+
45
+ エラーでないのなら、返り値から判断して `return` 文で終了させるか、
46
+
47
+
48
+
49
+ ```JavaScript
50
+
51
+ (function () {
52
+
53
+ console.log("sample");
54
+
55
+
56
+
57
+ var resutl = test();
58
+
59
+
60
+
61
+ if (!result) {
62
+
63
+ return;
64
+
65
+ }
66
+
67
+
68
+
69
+ console.log("sample2");
70
+
71
+ }());
72
+
73
+ ```
74
+
75
+
76
+
17
- エラでないのなら、`return` して終了させるのが正しいアプローチだと思います。
77
+ 返り値から後述コドを条件付き実行にするのが正しいアプローチだと思います。
78
+
79
+
80
+
81
+
82
+
83
+ ```JavaScript
84
+
85
+ (function () {
86
+
87
+ console.log("sample");
88
+
89
+
90
+
91
+ var resutl = test();
92
+
93
+
94
+
95
+ if (result) {
96
+
97
+ console.log("sample2");
98
+
99
+ }
100
+
101
+ }());
102
+
103
+ ```
18
104
 
19
105
 
20
106