通俗意义上来说解构赋值是针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。
举个简单的栗子
let arr = [1,2,3]
let a = arr[0] //1
let b = arr[1] //2
let b = arr[2] //3
这是传统的写法,如果使用解构赋值则会简单很多;
let arr = [1,2,3]
let [a,b,c] = arr
console.log(a) // 1
console.log(b) // 2
console.log(c) // 3
并且通过下面这个栗子能够看出在有默认值和没有默认值的情况下赋值情况的不同;
let [a,b,c=4,d=5] = [,2,3,]
console.log(a)//undefiend
console.log(b)//2
console.log(c)//3
console.log(d)//5
以上是数组的解构赋值,接下来是对象的解构赋值;
let {a:one,b:two} = {a:1,b:2};
one//1
two//2
对象的解构赋值也可以设置默认值
let {a,b,c=5,d=6} = {b:2,c:3};
console.log(a)//undefiend
console.log(b)//2
console.log(c)//3
console.log(d)//6