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
let和const的區別
let和const的區別 let與const都是只在宣告所在的塊級作用域內有效 let用來定義變數,無論是不是嚴格模式下,宣告未初始化的時候,都不會報錯,和var作用一樣,返回undefined const用來定義常量,而且宣告時必須初始化,否則報錯 const不能修改定義的常量的值 但是可以修改常...
let和const的區別
1.let和var類似,用於宣告變數,只是let宣告的變數只在 塊中有效 在全域性定義就只能在全域性使用,在區域性宣告只能在區域性使用 例 let a 0 function ket ket 2 console.log a 0 2.不存在宣告提公升,不允許重複 包括普通變數和函式引數 let a 1 ...
let 和 const 用法和區別
var if ture console.log a vara let if true console.log b undefined建立乙個值的唯讀引用。但這並不意味著它所持有的值是不可變的,只是變數識別符號不能重新分配。例如,在引用內容是物件的情況下,這意味著可以改變物件的內容 例如,其引數 co...