var 常出現在2015以前,可重複宣告變數,值可被改變。
let 的值能被改變,不可重複宣告變數。
const(常數) 的值不能被改變,不可重複宣告變數。
let和const是ES6出現的宣告方式。
var、let、const比較圖:
接下來讓我們來直接看實測範例:
可改變let的值
let x = 3;
console.log(x);
x = 5;
console.log(x);
執行結果
3
5
重複宣告let會出現語法錯誤:
let x = 3;
let x = 5;
console.log(x);
執行結果會出現語法錯誤
改變const的值會出現類型錯誤:
const y = 3;
y = 5;
console.log(y);
執行結果出現類型錯誤
重複宣告const會出現語法錯誤:
const y = 3;
const y = 5;
console.log(y);
執行結果會出現語法錯誤
補充:
IE 瀏覽器從 IE11 開始才有支援 let, const。
參考資料:
https://www.fooish.com/javascript/ES6/let-const-block-scope.html