let和const的區別

2021-08-10 10:36:24 字數 545 閱讀 8204

let和const的區別

let與const都是只在宣告所在的塊級作用域內有效

let用來定義變數,無論是不是嚴格模式下,宣告未初始化的時候,都不會報錯,和var作用一樣,返回undefined

const用來定義常量,而且宣告時必須初始化,否則報錯

const不能修改定義的常量的值 但是可以修改常量的屬性值,例如:

const a = ;

a.b = 1;

console.log(a);

因為對於復合型別的變數,如陣列和物件,變數名不指向資料,而是指向資料所在的位址。

const命令只是保證變數名指向的位址不變,並不保證該位址的資料不變,所以可以修改const定義的陣列或者物件的數值;

也可以通過object.freeze(name)方法凍結這個常量;例如object.freeze(a);這時候a的屬性值就不能隨意更改了

有意思的是:

var let = 1; 在嚴格模式下報錯,非嚴格模式下,列印let是1

const let = 1;在不在嚴格模式下都會報錯

let和const的區別

let與const都是只在宣告所在的塊級作用域內有效。let宣告的變數可以改變,值和型別都可以改變,沒有限制。const宣告的變數不得改變值,這意味著,const一旦宣告變數,就必須立即初始化,不能留到以後賦值。const a 報錯,一旦宣告變數,應該立即賦值!const b 2 b 3 報錯,因為...

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...