参考该链接
var {a,b}=c
//等价于
var c = { a: 'some code', b: 'some code' };
var { a, b } = c; // a = c.a; b = c.b
console.log(a) //结果some code
//取出 c 里面的a的值,必须是a要为c里面有a这个对象才行。
//a 的位置不固定也可以这样
var {b,a} = c;
console.log(a)//结果some code
ES6中允许从数组中提取值,按照对应位置,对变量赋值。对象也可以实现解构。
一、数组解构(为什么叫解构我也不懂)
let [a,b,c] = [1,2,3];
console.log(a);//1
console.log(b);//2
console.log(c);//3
//直接定义数组
二、对象解构
let person = {name:'lisi',age:30,sex:'男'};
// 以前的取值方法:person.name、person.age、person.sex
// 现在的方法:
// 要匹配变量名(变量名位置可发生变换):
let {name,age,sex} = person;
console.log(name);//lisi
console.log(age);//30
console.log(sex);//男
// 这种方法不可行 因为没有定义person.a、person.b、person.c所以肯定是undefined
let {a,b,c} = person;
console.log(a);//undefined
console.log(b);//undefined
console.log(c);//undefined
//别名赋值:
//自己理解(也就是把原来的person.name, 的name重新命名为myName,person.age= myAge命名为myAge)
let {name:myName,age:myAge} = person;
console.log(myName);//lisi
console.log(myAge);//30
//交换name和age的位置无碍。