位置: 编程技术 - 正文

ES6学习之变量的解构赋值(变量js)

编辑:rootadmin

推荐整理分享ES6学习之变量的解构赋值(变量js),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:es6 变量,es6定义变量,es6定义变量,es6变量交换,变量js,变量js,es6定义变量,es6 变量类型,内容如对您有帮助,希望把文章链接给更多的朋友!

变量的解构赋值

ES6中允许按照一定模式,从数组和对象中提取,对变量进行赋值。

数组的解构赋值

上面的代码标示可以从数组中提取值,按照位置的对应关系对变量进行赋值。

本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。

如果解构不成功,变量的值就等于undefined。

不完全解构

如果等号左边的模式只匹配等号右边数组的一部分,解构依然可以成功,这种情况叫做不完全解构。

如果等号右边不是数组,那么将会报错。(不具备可遍历的结构)。

只要某种数据结构具有Iterator接口,都可以采用数组形式的解构赋值

fibs是一个Generator函数,原生具有Iterator接口,解构赋值会依次从这个接口获取值。

默认值

解构赋值允许指定默认值。

ES6学习之变量的解构赋值(变量js)

ES6内部使用严格相等于运算符(===)判断一个位置是否有值。所以,一个数组成员如果不严格等于undefined,默认值便不会生效。

表达式也可以作为默认值,如果表达式作为默认值的时候,该表达式是惰性求值的,只有在用到的时候才会求值。

在上面的代码中,函数f不会执行,是因为x能取到值。

默认值可以引用解构赋值的其他变量,但该变量必须已经声明。

对象的解构赋值

解构赋值可以应用在数组上,同样也可以用于对象。

对象的解构赋值与数组有一个不同点,就是数组的元素是按次序排序的,变量的取值由它的位置决定,而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。

如果变量名与属性名不一致,那必须写成这样:

实际上对象的解构赋值是以下的形式简写:

对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量,真正被赋值的是后者,而不是前者。

但是,采取上面的写法时,变量的声明和赋值是一起的,对于let和const而言,变量不能重新声明,所以一旦赋值的变量以前声明过,就会报错。

对象的解构也可以用于嵌套结构的对象。

这时p是模式,不是变量,因此不会被赋值。

对象的解构赋值也可以指定默认值,默认值的生效条件是,对象的属性值严格等于undefined。

如果解构模式是嵌套对象,而且子对象所在的父属性不存在,那么将会报错。

总结

标签: 变量js

本文链接地址:https://www.jiuchutong.com/biancheng/376051.html 转载请保留说明!

上一篇:超全面的javascript中变量命名规则(超全面的竣工验收流程及资料)

下一篇:关于不同页面之间实现参数传递的几种方式讨论(不同页面之间传递数据)

  • 非盈利组织免税资格文件
  • 利息收入需要缴纳企业所得税吗
  • 预缴增值税计算公式方法
  • 开具红字专用发票的条件
  • 期末数减期初数等于
  • 预售房款预缴增值税
  • 设计、制造
  • 赠送车子需要过户吗
  • 准予抵扣的进项税范围
  • 短期借款在房地产怎么算
  • 农产品收购发票开错了
  • 福利费用交个人所得税吗
  • 新企业如何办理税务登记
  • 出口退税是退进项
  • 人力资源外包公司排名
  • 增值税免税收入计入什么科目
  • 增值税专用发票的税率是多少啊
  • 税收预测表怎么填写
  • 物业公司一般纳税人怎么抵扣
  • 不动产进项税额怎么算
  • 劳动生产总值计算公式.doc
  • 待摊费用做账
  • 简易计税开票开成了一般计税的税率会比对不通过吗
  • 中介公司收取中介费过高违法吗
  • 报销金额和发票金额不一致怎么做账
  • php扩展编写
  • 病毒dll文件
  • vue打包速度优化
  • 财政补助收入核算内容
  • php操作mysql的特点
  • 分公司开业开场白
  • php目录浏览
  • php的时间戳
  • 唱吧地图
  • 蓝桥杯第十四届模拟赛第三期
  • 长投转可供
  • 织梦建站详细步骤
  • 个税申报更正申报如何操作
  • 小型公司怎么做账
  • powerdesigner生成pdm
  • sql2016异地备份
  • 小额收据入账规则最新
  • mysql开启远程访问权限
  • 建筑业异地预交税款怎么入库
  • 公司租赁房屋房产税
  • 长期待摊费用摊销会计分录
  • 办公设备折旧年限规定多少年
  • 公司账户的钱如何转出
  • 公司房产税如何避税
  • 长期借款工程验收会计分录怎么做
  • 外包人员的餐费怎么入账
  • 给员工单独买的西装会计分录
  • 待处理财产损溢借贷反向
  • 摊销本月的广告费合理吗
  • 新成立的公司都是小微企业吗
  • 必应big
  • win2003无法启动
  • windows10x build 20279
  • fedora系统怎么安装
  • 虚拟机安装centos7.9
  • media.codec是什么
  • msoobe.exe是什么
  • win7 windows检测到ip地址冲突怎么解决
  • win7不允许我更改系统设置
  • win8系统如何备份系统
  • win10系统中哪些软件可以删除
  • win7 32位旗舰版电脑城下载
  • android开发环境配置
  • opengl绘制一个矩形
  • javascript中的函数也称为什么
  • Android-ViewPager使用示例
  • jQuery使用$.ajax进行即时验证的方法
  • android layout布局
  • python连接Oracle数据库
  • js中的substring
  • android studio安装过程中出现的问题
  • 细说javascript
  • 详解各种汽油一吨等于多少升
  • 关联公司销售
  • 会议服务的服务定位是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设