let和const的區別

let與const都是隻在聲明所在的塊級作用域內有效。

let聲明的變量可以改變,值和類型都可以改變,沒有限制。

const聲明的變量不得改變值,這意味着,const一旦聲明變量,就必須立即初始化,不能留到以後賦值。

const a ;//報錯,一旦聲明變量,應該立即賦值!!

const b = 2;
b = 3//報錯,因爲定義常量之後不能成重新賦值!!

對於複合類型的變量,如數組和對象,變量名不指向數據,而是指向數據所在的地址。const命令只是保證變量名指向的地址不變,並不保證該地址的數據不變,所以將一個對象聲明爲常量必須非常小心。

const names = [];
names = [1,2,3] //出錯,因爲變量names指向的地址不能發生改變,應始終指向[]所在的地址!!![1,2,3]與[]不是同一個地址
//不會報錯,因爲names指向的地址不變,改變的只是內部數據
const names = [];
names[0] = 1
names[1] = 2
names[2] = 3
摘自他人博客筆記,僅作爲個人筆記記錄,如有侵權請聯繫刪稿


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章