一、数组解构
var [a,b,c]=[1,2,3]; //数组解构
var [d,e]=[4]; //这里的a,b,c等等都是变量
var [f]=[5,6];
console.log(a); //1
console.log(b); //2
console.log(c); //3
console.log(d); //4
console.log(e); //undefined
console.log(f); //5
二、对象解构
var people={
uname:'李明',
age:20
};
var {uname,age}=people; //uname,age是变量
console.log(uname); // 李明
console.log(age); //20
console.log('---------------------');
var {unames,ages}=people; //unames,ages是变量
console.log(unames); //undefined
console.log(ages); //undefined
console.log('---------------------');
var {uname:unames,age:ages}=people; //利用别名
console.log(unames); // 李明
console.log(ages); //20
结果测试我们了解到:在对象解构里面的变量名必须和对象的属性名(或者函数)相同(也可以通过别名解决这个问题),并且变量的顺序不会干扰对象属性的赋值,但是如果变量的个数大于属性的个数,则多的那些变量值为undefined;如果如果变量的个数小于属性个数,则对应的变量只需要去取对应对象属性的值