解构赋值
# 数组的解构赋值
- 数组的解构赋值的变量位置必须一一对应,变量数量超出数组的长度时,对应变量的值为undefined
let [name,age] = ['cometang',23]
console.log(name)
console.log(age)
// cometang
// 23
1
2
3
4
5
2
3
4
5
let [,age] = ['cometang',23]
console.log(age)
// 23
1
2
3
2
3
let [,age,xx] = ['cometang',23]
console.log(xx)
// undefined
1
2
3
2
3
- 获取解构对象的属性值时,属性名确保正确
let {length} = ['cometang',12,22]
console.log(length)
// 3
1
2
3
2
3
# 对象的解构赋值
- 有键值对的对象的解构赋值,可以不按照顺序取值,但是属性名不能对应出错,如果对应出错,该变量找不到对应的值就会赋值为undefined
let {age,name} = {name:'cometang',age:23}
console.log(age)
// 23
1
2
3
2
3
let {age,xx} = {name:'cometang',age:23}
console.log(xx)
// undefined
1
2
3
2
3
- 有键值对的对象可以通过":"的形式给赋值的变量更改名字
let {age,name:a} = {name:'cometang',age:23}
console.log(a)
// cometang
1
2
3
2
3
- 如果没有对应值的情况可以通过"="提前设置一个默认值
let {age,sex='男'} = {name:'cometang',age:23}
console.log(sex)
// 男
1
2
3
2
3
编辑 (opens new window)
上次更新: 2022/05/28, 19:34:46