ES6解构
解构:一种新的提取数据的模式。
数组解构
数组解构:以元素位置为匹配条件,根据元素位置匹配到想要的数据。
const [a,b,c] = [1,2,3]
console.log(a,b,c)
数组留空:
const [a,,c] = [1,2,3] // a= 1,c = 3
console.log(a,c)
对象解构:
以属性名称为匹配条件
const obj = {name: "Tom", age: 18}
const {name,age} = obj; // 省略:name:name,age:age
console.log(name,age)
对象的解构赋值
解构赋值:直接从对象和数组中取值,按照对应的位置,赋值给变量的操作
传统方式:
通过层级调用
var obj = {name: "tom",age: 18}
var newName = obj.name
var newAge = obj.age
解构赋值:
let obj = {name: "tom", age: 18}
// nam,age是匹配模式,newName,newAge才是变量名
let {name: newName, age: newAge} = {name: "tom", age: 18}
嵌套解构对象:
let obj = {name: "tom", age: 18, children: {name: "Jerry"}}
let {children: {name:namechildren}} = obj;
console.log(namechildren)
指定解构默认值:没有时使用默认值,有的话会覆盖默认值
let obj = {name: "tom", age: 18, children: {name: "Jerry"}}
let {children: {name:namechildren, sex="男"}} = obj;
console.log(namechildren) // Jerry
console.log(sex) // 男"