一、解构赋值是什么?
将数组中的元素,字符串中的子字符,对象中的属性,重新分解成一个个的变量
二、使用
1.数组中的应用
- 完全解构
var [a,b] = [1,2]
console.log(a,b) //1 2
- 不完全解构
var [a,b,c] = [1,2]
console.log(a,b,c) //1 2 undefined
- 赋初值的解构
var arr = [1,2]
var [a,b,c=3]=arr;
console.log(a,b,c)//1 2 3
- 解构可以嵌套(结构要对应)
var [a,b,[c,d] = [1,2,[3,4]];
console.log(a,b,c,d) //1 2 3 4
2.对象中的应用
- 属性名保持一致
var {name,age} = { name:1,age:2}
console.log(name, age);//1 2
- 属性可以交换位置(对象的属性是无序的)
var {name,age} = { age:2,name:1}
console.log(name, age);//1 2
- 不完全解构
var {name,age,sex} = { name:1,age:2} //1,2,undefined
- 赋初值
var {name,
age,
sex=10
} = { name:1,age:2}
log(name,age,sex) //1,2,10
- 嵌套
var {a:{b,c},d} = {a:{b:2,c:3},d:4}
log(b,c,d) //2,3,4
2.字符串中的应用
var [a,b,c,d,e,f] = '我们是30期'
log(a,b,c,d,e,f) //我 们 是 3 0 期