let const var
- var变量的声明被提高到了顶部, 而初始化工做则保留在原处
- var在全局的时候会建立出来一个全局属性,但不能被删除,隐性建立的全局变量的能够被删除。
- let声明的语法与var语法一致,但会将变量的做用域限制在当前代码块中,不
会被提高到当前代码块的顶部。
- let禁止重复声明
- 在全局下面声明不会建立全局属性
- const 使用 const 声明的变量会被认为是常量,意味着它们的值在被设置完成后就不能再被改变
- const 声明会阻止对于变量绑定与变量自身值的修改, 这意味着 const 声明并不会阻止对变量成员的修改 (大白话的意思就是禁止修改对象引用。但对象的值能够被修改)
暂时性死区:常常被用于描述 let 或 const 声明的变量为什么在声明处以前没法被访问,也就是说若是这个值不是let或者const声明的就没有这样的事情对象
- 使用 let 或 const 声明的变量, 在达到声明处以前都是没法访问的.也就是说自己在var的时候,不用声明也能够使用,可是在前面使用了这值,后面再去声明就报错