let、const有沒有變量提升?


首先說明,let、const也存在變量提升,不過和var的變量提升不在一個階段。
var和let、const的區別:
1.var的變量提升,在聲明之前可以調用,聲明階段就有的變量提升 ; let 、const存在一個暫時性死區(暫時性死區:創建了變量但是沒有初始化,沒法使用變量,“Cannot access 'value' before initialization”),只在變量創建階段有提升,在初始化階段沒有提升,形成的暫時性死區。

2.var 沒有塊級作用域的概念,如果想搞出來一個保護內部變量的方法,可以使用閉包解決 ; let、const 有塊級作用域的概念,局部作用域內部的大括號‘{}’,被稱為塊級作用域

3.var 可以重復聲明同一個變量,let、const不能,const聲明的變量不能直接修改值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM