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