1. Let、const
let :代替var存在,生命变量,初始化后还能重新赋值
const :声明常量,初始化后不能重新赋值
引用类型可以在不重新赋值的情况下修改它的值,基础数据类型不行
const obj={
name:'sex'
}
//这是修改,可行
obj.name = 'aaa'
//这是重新赋值,不可行
boj = {}
2. let、const、var的区别
(1)对于重复声明:var允许重复声明,let、const不允许
(2)变量声明提升:var提升变量声明到作用域的最顶部,let、const不提升变量
(3)暂时性死区:let、const所声明的变量和常量会自动“绑定”这个区域,不会收外部作用域影响
(4)window对象属性和方法:在全局作用域中,var声明的变量通过function声明的函数,会自动变成window对象的属性和方法,let、const不会。
(5)块级作用域:var没有块级作用域,let、const有块级作用域。