2019-10-12|閱讀時間 ‧ 約 2 分鐘

JavaScript 變數宣告 var, let, const 比較

JavaScript在ES6新增了let, const等宣告變數的方式,其中let, const是block scope的,而var則是function scope:
console:
有發現了嗎,test1用var來宣告,且宣告在if block裡面,但是在外面可以存取的到,test2用let來宣告,在外面則存取不到!
接下來看看const:
console:
const是用來宣告不會再改變的常數,因此才會報錯。

總結:
  1. 在開發過程中應該要盡量讓變數scope最小化,避免在大型專案裏面變數互相影響等問題。
  2. 在後續不需要再改變的變數,宣告成const會比較好,避免這個value在其它地方被修改。
#note IE11以下不支援let語法,IE11可以:
從console可以看到模擬成IE10,但會出現必須有;的錯誤訊息,但是其實它是因為看不懂第9行的let,我試過改成var就過了。
解決方法:
使用babel來解決,如以下line 5, 6.
其實babel只是幫忙把ES6語法轉成ES5, 讓瀏覽器可以看得懂!
console:
可以看到看的懂let語法了,但出現一行warning,意思應該是建議要上production的話要precompile速度會比較快吧! 有時間再來研究怎麼build.

分享至
成為作者繼續創作的動力吧!
小弟是一位軟體工程師,樂於幫助他人,撰寫技術文章除了幫助自己複習以外,也希望可以幫助到他人,若文章內容有誤,還請大大不吝給予指教!
從 Google News 追蹤更多 vocus 的最新精選內容從 Google News 追蹤更多 vocus 的最新精選內容

Vic Lin的沙龍 的其他內容

發表回應

成為會員 後即可發表留言
© 2024 vocus All rights reserved.