位置: 编程技术 - 正文

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

发布时间:2024-02-27

推荐整理分享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中变量命名规则(超全面的竣工验收流程及资料)

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

  • 怎么计算土地增值税的相关税金
  • 已认证发票对方红冲应该怎么做账
  • 无息贷款合同要按手印吗
  • 董事长费用可以在公司报销吗
  • 资产处置损益是收入还是费用
  • 视同销售货物缴纳增值税的有哪些?
  • 2020年个体工商户税收政策超出额度怎么征收
  • 之前付过款回来收到发票应该怎么做凭证
  • 小微企业的认定标准2021
  • 其他综合收益的税后净额怎么计算
  • 资本公积转实收资本会计科目
  • 以前年度损益调整结转到哪里
  • 领购增值税专用发票
  • 出租房屋房产税怎么算
  • 残疾人可以给公司带来税收优惠吗
  • 车船税为什么没有优惠
  • 购进的库存商品转自用
  • 城市公交可以承包吗
  • 固定资产清查怎么开展
  • 腾讯电脑管家帮忙卸载
  • windows怎么禁用网络
  • 增值税一般纳税人申报流程
  • php img
  • 应付账款周转天数长对企业的影响
  • PHP:Memcached::setSaslAuthData()的用法_Memcached类
  • 应交增值税的会计科目怎么做
  • wordpress 常用函数
  • 增值税直接减征的开什么发票
  • 来料加工怎么核算成本
  • 分公司能不能独立法人
  • 实收资本的会计编码
  • 一般纳税人简易计税
  • 波白克岛的小尖塔岩石,英格兰多塞特 (© James Osmond/Alamy)
  • 增值税电子普通发票怎么打印
  • python的顺序
  • python获取值对应的键
  • 企业缴纳职工社保需要每月去社保局吗
  • 现金流量表本年累计金额怎么算
  • 免税增值税纳税申报表怎么填
  • 企业转让商品取得的税收
  • 航天金税盘发票冲红怎么操作
  • 固定资产折旧方法一经确定不得随意变更
  • sql server 2008 2014
  • 比较详细的耐克知识大全
  • mysql和mongo的区别
  • 已执行新金融准则 本期金额
  • 企业汇算清缴必须要做审计吗
  • 个人技术转让费税率是多少
  • 固定资产清理在贷方怎么结转
  • 员工在异地缴纳社保,公司还能上吗
  • 已计提教育费附加但是未扣除个税
  • 税后净利润弥补亏损分lu1
  • 房地产开发土地使用税如何计算
  • 自产自销的免税票
  • 停车费专用发票
  • 商业会计机构的组织形式
  • linux用户权限管理
  • sunasServ.exe - sunasServ是什么进程 有何作用
  • mssecsvc是什么进程
  • win7 系统没有声音
  • Win10 PC版 Build 14328上手体验视频评测
  • Linux安装anaconda
  • 3ds怎么用3ds格式
  • js原生实现ajax
  • Bullet(Cocos2dx)之优化PhysicsDraw3D
  • opengl glbegin
  • python输入错了怎么办
  • unity基础教程
  • 设计shell程序
  • linux中unzip解压完看不到文件
  • javascript中array数组对象的含义及常用方法
  • javascript XMLHttpRequest对象全面剖析
  • javascript精度问题的原因
  • javascript概述
  • 唐山宴订餐电话是多少
  • 广西税务局增值税发票查询平台
  • 电子税务局做什么的
  • 20年灵活就业人员社保新标准
  • 北京地方税务局李宗定
  • 税控盘可以换成ukey吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号