上一篇内容讲解了let&const。本篇试论解构赋值。
解构赋值
什么是解构赋值?
官方讲:es6允许按照一定的模式,从数组或对象中提取值,给变量进行赋值,称为解构赋值。
用代码示例更好理解:
数组解构:
//数组的解构
let [a,b,c,d] = [1,2,3,4];
console.log(a);
console.log(b);
console.log(c);
console.log(d);
将数组中的值分别赋给四个变量。如果数组中只有3个值,那么console.log(d)就会打印undefined。
对象解构:
//对象解构
// let {name:name,age:age} = {
let{name,age} = { //简写
name:"Bob",
age:18
}
console.log(name,age);
复杂对象的解构赋值:
let obj = {
code:200,
result:['aa','bb','cc','dd']
}
let{result:[a,,c]} = obj;
console.log(a);
console.log(c);
解构赋值的应用:
交换两个变量的值
学习解构赋值之前,交换两个变量的值需要借助第三个变量。
let num1 = 3;
let num2 = 5;
let temp = num1;
num1 = num2;
num2 = temp
现在不需要使用第三个就可以完成交换两个变量的值
let num1 = 3;
let num2 = 5;
[num1,num2] = [num2,num1];
console.log(num1,num2);