位置: 编程技术 - 正文

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

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

  • 企业所得税的征税对象包括
  • 个人销售商品交什么税
  • 购入生产线属于什么费用
  • 简易计税开的发票可以抵扣吗
  • 对母公司的其他说法
  • 公允价值下降属于资产吗
  • 房地产企业消防设施计入什么科目
  • 网银盾属于什么费用
  • 代建制规定
  • 独立核算的优点
  • 小微企业免征税怎么做会计分录
  • 城建税和教育附加税
  • 原材料的合理损耗
  • 可供出售金融资产会计处理
  • 直接转让土地使用权税费
  • 全面解析是什么意思
  • 事业单位退休人员独生子女费如何发放
  • 机械租赁费如何入账科目
  • 研发费用如何界定
  • 偿还债务是划拨资金吗
  • 2018年年终奖个税计算方法
  • 库存现金的收支账务处理
  • windows 临时文件夹
  • 在win7系统中将打开窗口拖到屏幕顶端
  • 利用的英文
  • 华为鸿蒙系统支持苹果手表吗
  • 股权收购特殊性税务处理案例
  • 一借多贷的会计分录怎么写
  • PHP中使用什么关键字声明变量的作用域为全局
  • keyemain.exe是什么进程
  • 微信php开发教程
  • 业务招待费能不能计入销售费用
  • codeigniter 教程
  • 以前年度未入账固定资产账务处理
  • 北京猿创源科技有限公司
  • electron-vue官网
  • 程序员后续发展
  • 局部规划算法
  • 高温补贴入账科目
  • 持有至到期投资账务处理
  • 民办非企业性质还是商业性质吗
  • 金税盘怎样设置收款人复核人
  • 织梦dedecms如何升级ckeditor
  • 税控盘抵减增值税
  • 公允价值变动损益借贷方向增减
  • mysql复制数据到另一张表
  • 以前年度未结转
  • 资产负债表与利润表的关联性可在存货与销售成本
  • 商场进行打折促销活动,消费金额(p)
  • 工程分包如何开具发票
  • 红字发票销项税额账务处理
  • 融资租赁开具的发票内容
  • 五险一金没有金
  • 安全生产费会计准则
  • 减资步骤
  • 利息支出可以抵扣进项吗
  • 营改增后建筑企业如何正确开具发票
  • 母子公司往来款是否涉及交税
  • 分公司可以设立公司吗
  • 建账时应取得哪些资料
  • sql中分页
  • centos vsftpd配置
  • win8安全中心在哪
  • mac系统怎么打开任务管理器
  • xp桌面字体有阴影怎么去掉
  • e ink launcher
  • 关闭5gwifi
  • linux怎么和window系统共用
  • win8怎么清空电脑只剩系统
  • win7系统损坏无法开机怎么重装
  • cocos2dx scrollview
  • opengl 顶点
  • python下三角
  • jquery validation
  • shell中大括号
  • jquery增删改查方法
  • 面向对象的知识
  • javascript面向对象精要pdf
  • 地税可以跨区交吗
  • 社会救助档案管理规范化的好处
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设