基本概念:本质上是一种匹配模式,只要等号两边模式相同,那么左边变量可以被赋予对应的值。

解构赋值主要分为:数组的解构赋值 、对象的解构赋值

数组解构:如

1 )当我们要接收的变量和要解构的数据长度相等时,会依次根据数据的对应关系分别赋值

//数组解构 let arr = [1,2,3,4]; let [a,b,c,d] = arr; console.log(a,b,c,d);

等号左边是我们要解构的数据对象,等号右边是我们要接收的解构的变量,所以输出的结果是1,2,3,4

2 )当我们要接收的变量和要解构的数据长度不等时,会依次根据数据的对应关系分别赋值 不存在的对应,变量会默认赋值为undefined

let arr = [1,2,3,4]; let [a,b,c,d,e] = arr; console.log(a,b,c,d,e); 1 2 3 4 undefined 

因为在数据对象解构的过程中,变量e对应的已经没有数据,所以解构之后,赋值undefined

3 )我们也可以使用扩展运算符来接收剩余的多个解构结果

let arr = [1,2,3,4]; let [a,...arr2] = arr; console.log(a) //1 console.log(arr2) //[2,3,4]

对象解构 如

对象的解构跟数组的类似,不同的是我们是在等号的左边使用{}来接收解构后的结果

let obj = {     name:'zhangsan',     age:30 } let {name,age} = obj; console.log(name,age)

除此之外我们还可以在解构的过程中,将解构的结果重新命名,赋值给一个新的变量

 let obj = {     name:'zhangsan',     age:30 }  let {name:myName,age:myAge} = obj;  console.log(myName,myAge)

以上就是常用的两种解构赋值,欢迎交流!