位置: 编程技术 - 正文

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

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

  • 免税收入怎么做会计分录
  • 免抵退税和留抵退税可以一起退吗
  • 佣金和手续费支出 纳税调整
  • 将房产以股权形式出售
  • 降低企业成本的有效途径
  • 企业利润表的主要内容
  • 会计法对填制审核会计凭证有哪些规定
  • 进项抵扣怎么操作
  • 朋友抵押贷款通过我公司名义会怎样
  • 应收应付明细表模板图片
  • 有一个月忘了报税怎么处理
  • 物流公司零税率发票是怎么回事?
  • 砂石开采销售需什么资质
  • 一般纳税人和小微企业的区别
  • 广告费和业务宣传费扣除标准2023
  • 做账的是什么会计
  • 交通费进项税抵扣计算
  • 补缴的附加税怎么入账
  • 质量扣款入什么科目
  • mac显示器颜色不正常
  • windows11家庭版本地策略组
  • 生产型企业公司有哪些
  • 农业公司的会计分录
  • 普通发票可以部份红冲吗?
  • 非正常损失含义
  • 2020税务预警后如何解除
  • windows 11硬件
  • aspnet_admin.exe进程是安全的吗 aspnet_admin进程信息查询
  • 抵债资产账务处理程序
  • php查询数据库语句
  • 担保费可以计入什么科目
  • 鱼香肉丝的做法的教程
  • 企业低值易耗品摊销计入产品成本的方法
  • 车间使用的辅助材料
  • devtools vue
  • 发票校验码不清晰
  • 企业汇算清缴发现之前收入记多了可以调整吗
  • 我已经用尽了洪荒之力漫画表情
  • 发票作废怎么操作电脑上
  • 插件不支持是什么意思
  • 税前扣除项目应遵循哪些原则
  • 购进农产品直接销售核定农产品增值税进项税额计算表
  • c标准库pdf下载
  • 路由器无线设置模式哪个更快
  • mysql随机密码怎么看
  • dedecms插件
  • 登记注册车辆登记英语
  • 专项扣除三险一金是哪三险
  • 债务豁免的账务处理
  • 财务软件期末处理
  • 投资性房地产进项税抵扣
  • 利润表是当月
  • 结构性存款现金流量表流入里放在哪里
  • 工程物资原材料在资产负债表哪个科目体现
  • 印花税根据一个月的销售额来计提吗
  • 往来核算会计实训总结
  • 专利年费可以减免吗
  • 小规模纳税人开具的农产品普通发票
  • 减值准备包括哪几个方面
  • 营业收入包括哪些内容?
  • 公司坏账率一般多少
  • windowsxp忘了登录密码
  • windowsxp如何隐藏文件
  • linux退出telnet服务
  • ssh permission denied password
  • linux shell脚本命令
  • bootstrap需要学多久
  • bootstrap怎么学
  • jquery model
  • shell提示
  • js实现时间
  • js 仿真
  • json转复杂对象
  • android开发遇到的技术难点
  • linux给本地用户发邮件
  • jquery添加属性的方法
  • 哈尔滨出租车可以拼车吗
  • 重庆市国税网官方网站
  • 综述与系统综述
  • 建筑企业应如何选择适用的质量体系标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设