javascript中的let 、const 和 var 的區別
阿新 • • 發佈:2018-12-16
在JavaScript中有三種宣告變數的方式:var、let、const。下文給大家介紹js中三種定義變數的方式const, var, let的區別
1.let和const中不存在變數提升,var中存在變數提升
console.log("a----" + a);
var a = "a";
console.log("b----" + b);
let b = "b";
console.log("c----" + c);
const c = "c";
var a 輸出的結果是
let b 輸出的結果是
const c 輸出的結果是
因為b 和 c 不存在變數提升 程式碼從上往下執行 找不到b 和 c 所以報錯 變成defined
2. let 和 const 會形成塊級作用域(就是 {} ) var 除了函式 裡面的 變數 否則不會形成塊級作用域
function fn() {
var a = 0;
console.log(a);
}
fn();
console.log(a);
var a 在函式裡面輸出的結果是
如果在if 中 就可以輸出值
if(true){
var b = 0;
}
console.log(b);
結果會輸出
我們再來看看 let 和 const
function fn() { let a = 0; console.log(a); } fn(); console.log(a);
let a 輸出的結果是
const和let輸出的結果是一致的我就不寫了
再來看看 if 中的 輸出的值吧
if(true){
let b = 0;
}
console.log(b);
在if中的 let a 中我們看到的是
3.let const 不能再次賦值 而 var 可以再次賦值
var a = 10;
var a = 11;
console.log(a);
var 變數可以再次賦值
var a = 10; var a = 11; console.log(a); //輸出的結果是11
我們再來看看let 和 const
let b = 11;
let b = 11;
console.log(b);
輸出的結果是
系統報錯:告訴我們 b 變數已經聲明瞭
我們最後看看const
const c = 12;
const c = 12;
console.log(c);
會報和let一樣的錯 所以結果是一樣的
以上就是let const 和 var的區別
let 和 const 非常相似但是我們來看看它們之間唯一的區別
let a;
console.log(a);
會輸出
再來看看const
const b;
console.log(b);
const 輸出
系統會報錯:在Const宣告中缺少初始化器
唯一的區別就是let宣告變數不賦值不會報錯 而const宣告變數不賦值會報錯
上面就是我個人的看法,如果有其他意見的望君留言
想看更多請點選我的部落格