1,JS的解构赋值是ES6新增的一种赋值方法,一般分为对象解构与数组解构两种形式;
对象解构赋值:
let obj = {
x: 'Json',
y: 25,
}
let {x, y} = person
console.log(x,y)// Json 25
var o = {p: 42, q: true}
var {p: foo, q: bar} = o// 将o的p值赋给变量foo,将o的q值赋值给变量bar。
var {p: foo, q: bar} = o等价于({p: foo, q: bar} = o)
数组结构赋值:
let [x, y] = ['a', 'b', 'c']
console.log(x,y)// a b
注意点:
1,解构赋值等号两边结构需要一样,所有变量才能正常解析赋值;
2,若左边结构少于右边,左边按结构赋值,右边多余不管;
3,若右边结构少于左边,左边结构将不赋值,为undefined,若左边给默认值将为默认值,如 let {x,y = 3} = {1}x = 1, y = 3
4,凡是有默认值,若正常赋值,默认值会被覆盖;
4,不能将数组解构赋值给对象的解构赋值;如:const {x, y} = ['a', 'b'];x,y值将为undefined.
(一)解构赋值1.按照一定的模式,从数组或者对象中把数组拿出来,对变量进行赋值数组结构赋值
2.等号左边与右边必须都是数组,数组的解构赋值要一对应,如果对应不上的话就是underfind
参考资料: https://www.51zxw.com/