var,let,const聲明變量?
阿新 • • 發佈:2018-09-18
作用域 聲明 重新 不可 fine 的區別 支持 基本 必須
var 與 let 的區別?
1.var支持變量預檢測,let不支持
console.log(a); // undefined 程序不會報錯 var a = 1; console.log(b); //程序報錯 b is not defined let b = 2;
2.let 不支持重復聲明
var a = 1; var a = 10; console.log(a); // 10 let b = 2; let b = 200; console.log(b); //程序報錯 Identifier ‘b‘ has already been declared 變量已經被聲明了
3.let 支持塊級作用域
{ var a = 100; } console.log(a); // 100 { let b = 200; } console.log(b); //程序報錯 b is not defined
const 聲明常量,聲明後不可被重新賦值。
const c = 3.14; const c = 3.15; ////程序報錯 Identifier ‘c‘ has already been declared 變量已經被聲明了 console.log(c);
const 與 let 基本一致,但是也有區別。
1. const在聲明的時候必須給初始化值,否則會報錯
2. const聲明的常量不可被再次修改
const 在聲明常量的時候,有些情況是可以修改的
const obj = {}; obj.name = ‘我是1‘; console.log(obj); obj.name = ‘我是2‘; console.log(obj);
在這裏不能修改obj這個對象,但是可以對對象裏面的值進行修改。
var,let,const聲明變量?