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

回答編集履歴

1

追記

2021/08/17 14:29

投稿

kairi003
kairi003

スコア1332

answer CHANGED
@@ -18,4 +18,68 @@
18
18
  になります。
19
19
 
20
20
  あくまでインクリメントは元の値に加算をするモノなので、使えば前方であれ後方であれxは加算されていくことになります。
21
- x+=1してからxを読みとるか、xを読み取ってからx+=1するかの違いです。
21
+ x+=1してからxを読みとるか、xを読み取ってからx+=1するかの違いです。
22
+
23
+
24
+
25
+ ---
26
+ 追記
27
+
28
+ ちょっと分かりやすく書いてみましょう。
29
+ まず後方インクリメントについて、
30
+ ```js
31
+ x = 1
32
+ a = x++
33
+ ```
34
+ は、
35
+ ```js
36
+ x = 1
37
+ a = x
38
+ x += 1
39
+ ```
40
+ と同じです。
41
+ なので、
42
+ ```js
43
+ x = 2
44
+ y = x++ + x++
45
+ ```
46
+ なら、
47
+ ```js
48
+ x = 2
49
+ a = x
50
+ x += 1
51
+ b = x
52
+ x += 1
53
+ y = a + b
54
+ ```
55
+ となります。
56
+ これならa=2,b=3,x=4,y=5となることが理解しやすいでしょうか?
57
+
58
+ 逆に、前方インクリメントは、
59
+
60
+ ```js
61
+ x = 1
62
+ a = ++x
63
+ ```
64
+ が、
65
+ ```js
66
+ x = 1
67
+ x += 1
68
+ a = x
69
+ ```
70
+ になります。
71
+ なので、
72
+ ```js
73
+ x = 4
74
+ y =++x + ++x
75
+ ```
76
+ が、
77
+ ```js
78
+ x = 4
79
+ x += 1
80
+ a = x
81
+ x += 1
82
+ b = x
83
+ y = a + b
84
+ ```
85
+ でa=5,b=6,x=6,y=11になるんですね。