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

回答編集履歴

1

else がない理由を補足

2020/05/06 09:16

投稿

Yasumichi
Yasumichi

スコア1773

answer CHANGED
@@ -36,4 +36,23 @@
36
36
 
37
37
  で c が max より大きければ、max に c を代入しています。
38
38
 
39
- 結果、max に a、b、c の内の最大の値が入ります。
39
+ 結果、max に a、b、c の内の最大の値が入ります。
40
+
41
+ 【補足】
42
+ なぜ、else がないのかという疑問を持っておられたようなのでちょっと追記してみます。
43
+
44
+ ```js
45
+ const getMax = (a, b, c) => {
46
+ let max = a; 
47
+ if (b > max) { 
48
+ max = b;
49
+ } else if (c > max) {
50
+ max = c;
51
+ }
52
+ return max;
53
+ };
54
+ ```
55
+
56
+ こう書いてしまうと正しくないことは、分かりますか?
57
+
58
+ こうすると b < a の時だけ、c > a が比較されるので c > b > a の場合に b が max に選ばれてしまいます。