核心提示:let 允许创建块级作用域,ES6 推荐在函数中使用 let 定义变量,而非 varvar a = 2;{let a = 3;console.log(a); // 3}console.log(a); ...
       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 在声明时必须被赋值



 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                 
            
                