es6允许按照一定的模式从数组和对象中提取值,并赋值给变量,这种行为称为解构赋值
特点:
1.解构赋值属于模式匹配,只要左右两边的模式匹配,左边的变量就会被赋予对应的值
2.解构赋值允许设置默认值, ES6 内部使用严格相等运算符(===),判断一个位置是否有值。所以,只有当一个数组成员严格等于undefined,默认值才会生效。
3.解构赋值允许嵌套模式
不同类型数据的解构赋值:
- 数组的解构赋值:
数组的解构赋值,是由其所在的位置决定的 - 对象的解构赋值:
变量必须与属性同名才能取到值
:前面为属性名,:后面的为变量名称, - 字符串的解构赋值
字符串会被转换为一个类似数组的对象 - 数值和布尔值的解构赋值
等号的右边是数值或者布尔值的时候,则会先转换为对象 - 函数参数的解构赋值
函数参数的解构也允许设置默认值
圆括号的使用
不可使用的情况:
- 变量声明语句
- 变量赋值语句的模式部分
- 函数参数
可以使用圆括号的情况: - 赋值语句的非模式部分
解构赋值的用途:
1.交换变量的值
2.从函数中返回多个值。 函数只能返回一个值,如果要返回多个值,只能将它们放在数组或对象里返回。有了解构赋值,取出这些值就非常方便。
3.函数参数的定义。 解构赋值可以方便地将一组参数与变量名对应起来。
4.提取json数据
5.函数参数的默认值
6.遍历map解构
7.输入模块的指定方法
网友评论