const
conts 用來(lái)定義常量,所謂常量就是物理指針不可以更改的變量,且必須賦值,沒(méi)有變量提升。
①:當(dāng)聲明普通數(shù)據(jù)類型的時(shí)候,那么一但聲明了,就不可以再改變。
const a = 1;
a = 2; //Uncaught TypeError: Assignment to constant variable.
②:當(dāng)聲明復(fù)雜數(shù)據(jù)類型的時(shí)候,物理指針不可以改變,但是可以改變數(shù)據(jù)內(nèi)的屬性值,以及可以給數(shù)據(jù)添加新屬性等操作。
const o = {a: 1};
o.a = 2;
o.b = 3;
console.log(o);
o = {}; // 報(bào)錯(cuò)
let
使用 let 聲明的變量,只能在當(dāng)前代碼塊中訪問(wèn)和使用,有些類似于函數(shù)作用域,但是它又有幾點(diǎn)不同的地方。
let 聲明變量,變量不會(huì)被提升。
function fn1(){
console.log(a);
let a = 1;
}
fn1(); // 報(bào)錯(cuò)
var b = 2;
function fn2(){
console.log(b);
let b = 1;
}
fn2(); // 報(bào)錯(cuò)