ES6解构

30 阅读1分钟

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}

image-20221113135928030.png 嵌套解构对象:

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) // 男"