解构赋值

es6允许按照一定的模式从数组和对象中提取值,并赋值给变量,这种行为称为解构赋值

特点:

1.解构赋值属于模式匹配,只要左右两边的模式匹配,左边的变量就会被赋予对应的值
2.解构赋值允许设置默认值, ES6 内部使用严格相等运算符(===),判断一个位置是否有值。所以,只有当一个数组成员严格等于undefined,默认值才会生效。
3.解构赋值允许嵌套模式

不同类型数据的解构赋值:
  • 数组的解构赋值:
    数组的解构赋值,是由其所在的位置决定的
  • 对象的解构赋值:
    变量必须与属性同名才能取到值
    :前面为属性名,:后面的为变量名称,
  • 字符串的解构赋值
    字符串会被转换为一个类似数组的对象
  • 数值和布尔值的解构赋值
    等号的右边是数值或者布尔值的时候,则会先转换为对象
  • 函数参数的解构赋值
    函数参数的解构也允许设置默认值
圆括号的使用
不可使用的情况:
  • 变量声明语句
  • 变量赋值语句的模式部分
  • 函数参数
    可以使用圆括号的情况:
  • 赋值语句的非模式部分
解构赋值的用途:

1.交换变量的值
2.从函数中返回多个值。 函数只能返回一个值,如果要返回多个值,只能将它们放在数组或对象里返回。有了解构赋值,取出这些值就非常方便。
3.函数参数的定义。 解构赋值可以方便地将一组参数与变量名对应起来。
4.提取json数据
5.函数参数的默认值
6.遍历map解构
7.输入模块的指定方法

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前面的话 我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段。在ES6中添加了可以简化这种任务的新特性...
    sunnyghx阅读 827评论 0 0
  • 前面的话   我们经常定义许多对象和数组,然后有组织地从中提取相关的信息片段。在ES6中添加了可以简化这种任务的新...
    CodeMT阅读 540评论 0 0
  • 本文通过学习阮一峰的博客,外加自己的理解,整理了一下我对js变量的解构赋值的理解。 数组的解构赋值 对象的解构赋值...
    宋乐怡阅读 597评论 0 2
  • 1.数组的解构赋值 2.对象的解构赋值 3.字符串的解构赋值 4.数值和布尔值的解构赋值 5.函数参数的解构赋值 ...
    卞卞村长L阅读 952评论 0 0
  • 基本用法 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring...
    嘉奇呦_nice阅读 832评论 0 2

友情链接更多精彩内容