ES6 - let、const 和 block 作用域

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 在声明时必须被赋值
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容