回答編集履歴

2

誤記の修正

2018/09/21 04:24

投稿

madoka9393
madoka9393

スコア992

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  理解の一助になるかはわかりませんが、
22
22
 
23
- 質問文のコードは普通に書けば以下のように書けるものを`,`で省略した形である思われます。
23
+ 質問文のコードは普通に書けば以下のように書けるものを`,`で省略した形である思われます。
24
24
 
25
25
  ```JavaScript
26
26
 

1

変更対応

2018/09/21 04:24

投稿

madoka9393
madoka9393

スコア992

test CHANGED
@@ -1,15 +1,43 @@
1
- 質問本文の記載と実際のコードに乖離があるように見えますがいかがでしょうか。
1
+ ~~質問本文の記載と実際のコードに乖離があるように見えますがいかがでしょうか。~~
2
2
 
3
3
 
4
4
 
5
- コード
5
+ ~~コード~~
6
6
 
7
- `(month < 4 || month >= 9) && (term_id = 2)`
7
+ ~~`(month < 4 || month >= 9) && (term_id = 2)`~~
8
8
 
9
9
  質問文
10
10
 
11
- `(month < 4 || month >= 10) && (term_id = 2)`
11
+ ~~`(month < 4 || month >= 10) && (term_id = 2)`~~
12
12
 
13
13
 
14
14
 
15
- コードの通りであれば`month=9`は`month >= 9`の条件を満たしているので`term_id`は`2`になるかと。
15
+ ~~コードの通りであれば`month=9`は`month >= 9`の条件を満たしているので`term_id`は`2`になるかと。~~
16
+
17
+
18
+
19
+ 質問文とコードの乖離は誤りだったようで、せっかくなので回答を編集。
20
+
21
+ 理解の一助になるかはわかりませんが、
22
+
23
+ 質問文のコードは普通に書けば以下のように書けるものを`,`で省略した形である思われます。
24
+
25
+ ```JavaScript
26
+
27
+ var d = new Date;
28
+
29
+ var month = d.getMonth() + 1;
30
+
31
+ var year;
32
+
33
+ var term_id = 1;
34
+
35
+ year = month >= 1 && month <= 3 ? d.getFullYear() - 1 : d.getFullYear();
36
+
37
+ (month < 4 || month >= 9) && (term_id = 2);
38
+
39
+ ```
40
+
41
+ こうやってみると三項演算子の部分と件のコード`(month < 4 || month >= 9) && (term_id = 2)`は
42
+
43
+ 関係がないことがわかりやすくなりますかね。