声明变量三个var let和const
1.首先var先排除,老派写法,问题很多,可以淘汰掉…
2.const优先,尽量使用const,原因:
(1)const语义化更好
(2)很多变量声明的时候就知道它不会被更改了
(3)实际开发中,如:react框架,基本const
3.有了变量先给const,如果发现它后面是要被修改的,再改为let
//以下可以不可以把let改为const? 可以
// 原因:(引用类型)数组或对象值修改了值,没有修改存储地址
let arr = ['red','green']
arr.push('pink')
console.log(arr) //['red','green','pink']
let person = {
uname:'pink老师',
age:18,
gender:'女'
}
person.address = '武汉'
console.log(person)
4.小结
(1)const声明的值不能更改,而且const声明变量的时候需要里面初始化。(基本数据类型)
(2)对于引用数据类型,const声明的变量,里面存的不是值,不是值,不是值,是地址。
//以下不可以使用const 错误,它们地址不一样
const names = []
names = [1,2,3]
const obj = {}
obj = {
uname:'lily'
}
//TypeError: Assignment to constant variable.
//正确追加方式
const names = []
names[0] = 1
names[1] = 2
names[2] = 3
const obj = {}
obj.uname = 'lily'
5.什么时候使用let声明变量?
(1)如果基本数据类型的值或者引用类型的地址发生变化的时候,需要用let。
(2)比如:一个变量进行加减运算,比如for循环中的i++
let num = 2;
num = 3;
for(let i = 0;i < 5;i++){
console.log(i);
}