ES6中允许从数组中提取值,按照对应位置,对变量赋值,对象也可以实现解构。【解构:分解数据结构。】
- 解构赋值就是把数据结构分解,然后给变量进行赋值
- 如果解构不成功,变量跟数值个数不匹配的时候,变量的值为undefined
- 数组解构用中括号包裹,多个变量用逗号隔开,对象解构用花括号包裹,多个变量用逗号隔开
- 利用解构赋值能够让我们方便的去取对象中的属性跟方法
数组解构
如果解构不成功,变量的值为undefined
let ary = [1, 2, 3];
let [a, b, c, d, e] = ary;
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3
console.log(d); // undefined
console.log(e); // undefined
对象解构
let person = { name: 'zhangsan', age: 20 };
// 相当于 let name = person.name; let age = person.age
let { name, age } = person; // 左边的变量必须和person 的key一致,否则undefined
console.log(name); // 'zhangsan'
console.log(age); // 20
let {name: myName, age: myAge} = person; // myName myAge 属于别名
console.log(myName); // 'zhangsan'
console.log(myAge); // 20