定义:ES6允许按照一定模式,进行“模式匹配”,从数组或对象中取值,进行变量赋值,称之为“解构赋值”。
一、数组的解构赋值:两边解构,对应变量赋值
二、对象的解构赋值
三、 字符串的解构赋值
四、解构赋值在项目中的应用
- 交换变量
let x = 1,y =2; [x,y] =[y,z]` // x = 2,y = 1.
- 从函数返回多个值,默认函数只能返回一个值,可将它们放进数组或对象,进行返回
//返回一个数组
function example() {
return [1, 2, 3];
}
let [a, b, c] = example();
- 在函数参数传递:将一组数与一组数据对应起来
// 参数是一组有次序的值
function f([x, y, z]) { ... }
f([1, 2, 3]);
// 参数是一组无次序的值
function f({x, y, z}) { ... }
f({z: 3, y: 2, x: 1});
- 提取json对象数据
let jsonData = {
"id": 42,
"status": "OK",
"data": [867, 5309]
};
let { id, status, data: number } = jsonData;
console.log(id, status, number);