变量新声明之let、const

一、let

1、通过let声明变量不会变量声明提升

let a = 10;

console.log( a )  

会报错

2、 let a = 10;

      let a = 10;

  会报错,(a 已被定义)

3、 let a = 10;

     console.log( window.a )   》  undefind

let 声明的变量不会挂载到全局

4、let 加强对作用域的控制  》 let {  }  =>  块级作用域

5、临时死区

闭包

二、const

 //常量声明

const PI = 20;

//存储常量的空间里的值不能发生改变

const PI = 20;
PI = 20;//报错
 
 不报错    (空间里的值不变,引用值可以变)   如果定义空间里的值是20,则不能改变
 
           空间                                                引用值

 

const 也可以与 {  } 连用产生块级作用域  

也会产生临时死区

   

原文地址:https://www.cnblogs.com/tianya-guoke/p/10657128.html