let 允许创建块级作用域,ES6 推荐在函数中使用 let 定义变量,而非 var
var a = 2;
{
let a = 3;
console.log(a); // 3
}
console.log(a); // 2
在块级作用域有效的另一个变量声明方式是 const,它可以声明以个常量。ES6 中,const 声明的常量类似于指针
,它指向某个引用,也就是说这个「常量」并非一成不变的
{
const ARR = [5,6];
ARR.push(7);
console.log(ARR); // [5,6,7]
ARR = 10; // TypeError
}
- let 关键词声明的变量不具备变量提升(hoisting)特性
- let 和 const 声明只在最靠近的一个块中(花括号内)有效
- 当使用常量 const 声明时,使用大写变量
- const 在声明时必须被赋值
网友评论