在六角學院的Slack的討論大廳上看到有人詢問「i++ 和 ++i 的差異?」
因為提問者是程式語言的初學者,便思考著如何使用淺顯易動懂的解釋給對方聽。
MDN Web Docs 的描述
++x
是會運算元回傳增加1後的值x++
會回傳運算元加1前的值
在某些情況下,看起來兩者最後結果都是一樣的,那他的差異性是甚麼?
我的回答
我會這樣子想。
採用以前學習二元一次方程式的概念來做比擬。
「++
」就是「+1
」的意思。
「++x
」「x++
」就是「x=x+1
」。
x++
的公式拆解
1 | let x=1 |
++x
的公式拆解
1 | let x=1 |
因為程式邏輯和過去學習算數的概念稍有不同,將之拆解為更細部的說明,便能讓發問者聽懂囉!
得到的回饋
之前也碰過類似的問題,本想放上來詢問大家,剛好就看到了這篇。你的回答很詳細,解決了我的疑惑,感恩:祈禱
本來也是想讓自己更理解i++
和++i
的概念才回答的,沒想到還得到很棒的回饋,內心極為高興,這就是寫程式後所得的成就感吧!希望透過這篇文章,能讓大家以更清晰的方式理解兩者的差異喔!
本文於 2021-06-05 發表在舊網站。