var 、let 和 const 都是宣告變數使用的,var 宣告的變數在**塊以外是可以訪問到的,而let 宣告的變數只能在當前**塊裡面被訪問使用(塊級作用域也就是{}裡面的)。const 是用來宣告乙個唯讀的恒量/常量的,常量一旦宣告並給予初始值後是不能再修改的。
例如:使用var宣告變數
if(true)
console.log(test) // zoo;
使用let宣告變數:
if(true)
console.log(test) // test is not defined;
使用const宣告,一旦宣告後是不能再修改的,而且必須要宣告初始值,他不能像var 一樣先宣告後賦值
const name = 'jack'
name = 'zoo' // 會報錯的
const name
name = 'jack' // 會報錯(要宣告初始值的)
總結:根據以往專案經驗來說最好不用var 宣告變數,要主用const來宣告,然後再配合let 宣告使用。這樣就能讓**的可讀性更好,而且避免重複定義變數帶來不必要的麻煩錯誤。 記錄 var let const 的區別
es5 只有全域性作用域和函式作用域,沒有塊級作用域,這帶來很多不合理的場景。es6中增加了塊級作用域的概念,var 可以重複申明,無法限制修改,沒有塊級作用域 let 不能重複申明,變數 可以修改,塊級作用域,只在當前作用域有效 const 不能重複申明,常量 不可修改,塊級作用域,只在當前作用域...
面試 var let const的區別
var只有全域性作用域和函式作用域概念,沒有塊級作用域的概念。但是會把 內也假稱為塊作用域。let只有塊級作用域的概念 由 包括起來,if語句和for語句裡面的也屬於塊級作用域。如圖 var 存在變數提公升,而 let,const 後面會提及 宣告的變數卻不存在變數提公升,所以用 let 定義的變數...
var let const之間的區別
let 1 let不存在變數提公升 var命令會發生變數提公升現象,變數可以在宣告之前使用,值為undefined。let 命令定義的變數則會報錯referenceerror 2 let存在暫時性死區 塊級作用域let 宣告的變數不受外部影響 3 不允許重複宣告 const 1 const宣告乙個唯...