更新時間:2021年10月07日11時05分 來源:傳智教育 瀏覽次數(shù):
“var、let、const聲明變量的區(qū)別”是前端開發(fā)工程師面試中經(jīng)常被問到的面試問題,是前端開發(fā)需要重點記住的知識。下面我們一起來總結(jié)下:
let與const聲明很類似,我么先看var與let的區(qū)別:
1.var聲明變量可以重復(fù)聲明,重復(fù)聲明后之前變量值被覆蓋;而let不可以重復(fù)聲明,重復(fù)聲明會報錯。
2.var聲明的變量不受限于塊級作用域,即var聲明的變量是全局變量,不受當(dāng)前(塊級)作用域;let聲明的變量當(dāng)前(塊級)作用域限制,只在作用域內(nèi)有效。
3.let不存在變量提升:var聲明變量的代碼上面可以訪問變量,而let不可以,在let聲明的上面訪問變量會報錯,這就我們說的暫存死區(qū)。
4、var會與window相映射(會掛一個屬性),而let不與window相映射
const聲明變量的特點
·const和let一樣不會與window相映射、支持塊級作用域、在聲明的上面訪問變量會報錯
·const聲明之后必須賦值,否則會報錯
·const定義不可變的量,改變了就會報錯