let,const和var区别
1、let和const声明的变量不能提升
2、let和const声明的变量不能重复声明
3、let和const声明的变量只在当前块作用域中有效 (块作用域 {})
4、let和const声明的变量会产生暂时性的死区,只能在当前块作用域中查找
5、const声明的变量必须赋初值
6、const声明的变量是常量,不能发生改变
1. console.log(demo); //不能提升,报错
let demo = 30
//const demo =30
2. let str = '嘿嘿'
let str = '呵呵'
//const str = '嘿嘿'
//const str = '呵呵'
console.log(str);//一个变量不能重复声明,报错
3. if (false) {
let demo_1 = 40
//const demo_1 = 40
}
console.log(demo_1);//大括号会产生块作用域,在括号外不生效
4.var name = 'zs'
if (1) {
console.log(name);//产生暂时性的死区,
//只能在当前块作用域中查找,所以查找不到外面的name
//而内部的let定义的name无法提升,所以报错
let name = 'ls'
}
5. const name_1 = ''//必须赋初值,不然报错
name_1 = 'ls'//变量是常量,不能发生改变,不然报错
console.log(name_1);