在六角學院的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 發表在舊網站。