基本原则
- 数组的元素是按次序排列的,变量的取值由它的位置决定;
- 对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
基本语法
let [x,y] = [1,2] //数组的解构赋值
// x=1 y=2
let {foo,bar} = {foo:"aaa",bar:"bbb"} //对象的解构赋值
//foo="aaa" bar="bbb"
用途
- 交换变量
let x = 1;
let y = 2;
[x,y] = [y,x];
- 从函数返回多个值
function example(){
return [1,2,3];
}
let [a,b,c] = example();
//返回对象
function example(){
return {
foo : 1,
bar : 2
}
}
let{foo,bar} = example();
- 函数参数的定义
//有次序
function f([x,y,z]){}
f([1,2,3])
//无次序
function f({x,y,z})
f({z:3,x:1,y:2})
- 提取json数据
let jsonData = {
id : 42,
age : 27,
name : 'dengsheng'
};
let{id,age,name} = jsonData;
- 加载模块里面的方法
//vue框架中加载组件
import { mapGetters } from 'vuex'