在javascript中 var const let 都是用于声明变量的关键字。
1.作用域:var 没有块级作用域 const let 有块级作用域
2.变量提升:var存在变量提升,可以先声明后使用。
const let 不存在变量提升,必须先声明后使用。
3.重复声明:var 在同一作用域内重复声明变量,后续会覆盖之前的声明。
const let 不允许在同一作用域内重复声明同一个变量。
4.初始化:var 可以不用声明初始值, 使用后赋值。
const let 必须声明初始值。 一旦声明值不能改变。
5.全局对象: var 声明的变量可以成为全局对象的属性。
const let 声明的变量不会成为全局对象的属性。
6.暂时性死区:var不存在
const let 存在暂时性死区 即变量在声明前不可以使用。