文章目录
什么叫解构赋值
将属性/值从对象/数组中取出,赋值给其他变量。
解构赋值的语法
1.中括号解构[]
var [x, y, z] = [2, 5, 8];
2.大括号解构{}
var {name,age,sex}={
name:"张三",
age:18,
sex:"男"
};//这不是对象,而是分别获得三个变量
解构赋值的常见用法
1.快速交换变量的值
var [x, y, z] = [2, 5, 8];
console.log(x, y); //2 5
[x, y] = [y, x];
console.log(x, y); //5 2
2.return多个值
function fn() {
return ["结果1", "结果2", "结果3"];
}
var [result1, result2, result3] = fn();
console.log(result2);
3.函数传参不用考虑顺序,且参数可以自带默认值
function user({
name,
age = 18, //带默认值的形参可以不用传值
sex
}) {
console.log("我叫" + name + ",今年" + age + "岁,性别" + sex);
}
user({
// age: 18,
sex: "男",
name: "张三" //不用按照形参顺序传值
});
4.快速取出某一数组元素
var array=[4,73,2,66,91];
var {0:first,4:last}=array;
console.log(last);//91
对象的解构赋值:将对象的值,给属性同名的变量
let obj = {
name:'张三',
age:22,
say(){
console.log('你好');
}
}
// 变量和属性名必须保持一致
let {name,age,say} = obj;
数学对象方法的结构赋值
let {random,round,floor} = Math;
console.log(random());
console.log(round(11.345));
console.log(Math.round(11.345));