首先解构赋值是对赋值运算符的扩展。
在ES6变量的解构赋值本质上是“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予匹配的右边的值,如果匹配不成功变量的值就等于undefined
它是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。
解构模型:
在解构中,有下面两部分参与:
解构的源,解构赋值表达式的右边部分。
解构的目标,解构赋值表达式的左边部分。
也就是说吧右边的源解构,然后赋值给左边的目标
举个数组的例子如下:
let [a, b, c] = [1, 2, 3];
结果: a = 1
结果: b = 2
结果: c = 3
在举个对象的例子如下:
let {a,b,c}={b:1,a:2};
console.log({a,b,c})
结果:{a: 2, b: 1, c: undefined}
var tmp = {a:1,b:2};
var {a}= tmp;
var a = tmp;
console.log(a)
结果:a = {a:1,b:2}
let a = {a:1,b:2}
let b = {s:1,...a}
console.log(b)
结果:b = {s:1,a:1,b:2}
以上就是解构赋值的基本用法