一·前言
解构赋值语法是一种JavaScript表达式,通过解构赋值,可以将 属性/值/变量 从 对象/数组 中拿出来,赋值给其他变量
二、用途
现在我们有一个数组,与三个变量,数组中有3个元素,我们想将数组中的三个元素分别对应赋值给三个变量,我们可以采用以下形式,即可实现。
但是如果我们元素变成10个或者更多,以这种方式赋值就有一定难度,这时候就需要解构赋值:[a,b,c],给元素写在中括号中间,表示我们给三个变量一起来赋值。
我们可以看到两种赋值的效果是一样的。所以解构赋值,故名思意,就是将一个东西解析展开后再赋值给某个东西。
三、数组的解构
1.变量声明并且赋值时的解构
我们有数组解构与对象解构两种形式,在实际操作中,以[ ]包裹的形式为数组的解构,我们可以直接声明同时解构赋值,我们可以实现声明同时完成解构赋值的操作。
2.默认值
我们可以看到 j 也进行了赋值,时候解构赋值后 j 的值就是undefined所以为了防止出现undefined的出现,我们可以先在左边对象先预设值默认值。
3.剩余数组赋值给一个变量
我们在解析一个数组时,可以将数组剩余部分赋值给一个变量。
4.解构交换变量
没有解构赋值时,我们交换变量采用以下方式
5.解析一个函数返回的数组
6.二维数组的解构
四、对象的解构
1.基本用法
我们在解构对象时,采用以{ }包裹的形式。通过在{}中添加变量名,把对象的属性与{}中的属性名一 一对应实现解构赋值。与数组不同的是,对象的解构赋值不需要按照变量的顺序对应赋值。
对象中没有address属性就返回undefined
2.给新的变量名赋值
可以从一个对象中提取变量并赋值给和对象属性名不同的新的变量名
我们也可以与数组的解构形式相同,给变量先赋予默认值,也可以给新的变量名赋默认值。
五、综合
1.解析嵌套对象与数组
2.For of迭代与解构