应届生找工作太难了,只能总结下知识点来消磨时间了
let和const
let特性
- 不存在变量提升
console.log(a)
let a = 1

let a = 1
let a = 100 // 但可以重新赋值 a =100,打印出来的a就是100
console.log(a)

function func(){ //里面声明的变量属于函数作用域
let a = 1
if(true){ // {}属于块级作用域,与函数作用域的变量互不相干
let a = 2
}
console.log(a)
}
func()

从上面可以看出变量是可以在不同作用域下重复声明的
const特性(在let的基础上做了一点改变)
- 声明一个只读的常量,一旦声明,常量的值不可以改变
const a = 1
a = 2 //与let相比const就不能重新赋值了
console.log(a)

-
不能只声明不赋值
-
常量类型不可以值改变,但引用类型是可以的(Object,Array,Function等)
const obj = {}
obj.a = 1
console.log(obj)
