var,let和const
ES6新增了let
關鍵字用於聲明變量,用法上和var
類似,這裏列舉一些兩者的區別。
let與var區別
let
聲明的變量只在它所在的代碼塊內有效:
因爲上面的特性,所以let
很適合在for循環中做計數器:
var
聲明的變量會被掛在到全局的window上,而let
並不會:
let
不允許在同一個作用域內對同一個變量重複聲明:
let
不存在變量提升問題,必須先聲明再使用:
let
的作用域屏蔽造成臨時性死區:
const定義常引用
常引用不允許修改
const
和let
一樣都有作用域
引用的對象可以改變