ES6 let与const
ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let
和 const
。
Let
let 特性
-
声明变量只有在let所在的代码块内有效。
-
let只能声明一次。
-
不存在变量提升。
-
不影响作用域。
- 注意:通常与循坏一起使用
Const
const 特性
-
声明一个只读常量,一旦声明,常量的值就不能改变。
-
声明必须赋初始值。
-
标识符一般为大写。
-
只能声明一次。
-
不允许修改。
-
块级作用域。
- 注意:对象和数组修改不会触发const错误
let const var 三者的区别
-
块级作用域: 块作用域由 { }包括,let和const具有块级作用域,var不存在块级作用域。
-
变量提升: var存在
变量提升
,let和const不存在变量提升,即在`变量只能在声明之后使用,否在会报错。 -
重复声明: var声明变量时,可以重复声明变量,后声明的同名变量会覆盖之前声明的遍历。const和let不允许重复声明变量
-
暂时性死区: 在使用let、const命令声明变量之前,该变量都是不可用的。这在语法上,称为
暂时性死区
。使用var声明的变量不存在暂时性死区 -
初始值设置: 在变量声明时,var 和 let 可以不用设置初始值。`而const声明变量必须设置初始值。