【ES6 小筆記】變數提升(Hoisting)與暫時死區(TDZ)
1. hoisting會出現在宣告的動作。 2. hoisting的特性與JavaScript建立執行環境分為兩個階段有關,這兩個階段可以簡單地理解成先宣告再執行,而讓程式碼從肉眼上並沒有移動位置,但實際執行結果卻又像是宣告的程式碼都被寫在最上方。 3. 不只var會hoisting,let、const的宣告動作也會hoisting,差異只在於用let、const的暫時死區(TDZ)結束的時間比較晚,所以會跳出錯誤,而不是印出undefined。 4. hoisting有優先權的差異,函式高於變數。
精選技術文章、免費程式設計資源、以及業界重要新聞!
真巧今天逛到hoisting的文章
【ES6 小筆記】變數提升(Hoisting)與暫時死區(TDZ)