位置: 编程技术 - 正文

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

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

  • 税收法律关系是指国家与纳税人之间
  • 企业所得税视同销售的会计处理
  • 公司基本户可以转私人账户吗
  • 可转换公司债券属于哪一类金融资产
  • 存货盘盈属于什么活动
  • 无形资产的累计摊销是什么意思
  • 上交的项目评审费如何做财务处理呢?
  • 软件著作权销售好做吗
  • 收到子公司税后利润
  • 材料采购成本差异属于什么科目
  • 股东放弃本企业股权
  • 房地产企业建造的商品楼属于存货对吗
  • 存货盘盈与盘亏
  • 发票抬头是个人,能在单位报销吗
  • 个人在电商平台购买跨境商品需要缴纳什么税
  • 国税开运输发票后地税怎么报税?
  • 咨询费可以入账吗
  • 国税申报数据能修改吗
  • 税收强制执行措施包括哪些
  • 个人股权激励收入计入年度综合个人所得税吗
  • 资产损失税前扣除备查资料
  • 研发费用进成本吗
  • 专项维修基金所得税可税前扣除吗?
  • 税务缴纳滞纳金处罚依据
  • 公转私限额多久自动解冻
  • 减资弥补亏损是什么行为
  • 无形资产的出租租金通过什么科目核算
  • 收上级补助款专用如何做账?
  • 国家税务开票流程
  • 企业注销时实收资本为0
  • 折扣返利怎么做会计分录
  • 结转收入怎么计算
  • 网络平台的收入怎么算
  • macbook怎么修改默认系统
  • u盘中毒症状
  • 计提小规模增值税怎么做账
  • php如何防止表单重复提交
  • u盘重装系统电脑
  • 应付票据的核算方法有哪些
  • 收到供应商现金怎么入账
  • windows默认网关应该设置为的地址
  • NDSTray.exe - NDSTray是什么进程 有什么用
  • 长期借款还款
  • Zinnowitz pier on Usedom island in the Baltic Sea, Germany (© Frank Günther/Getty Images)
  • 商业汇票不带息到银行办理贴现公式
  • 外购货物用于公益性捐赠
  • php js
  • 自动驾驶决策规划技术理论与实践电子版
  • js框架jquery
  • 商业积分消费模式
  • 一般纳税人注销税务流程
  • 股东权益合计等于净资产吗
  • 个人所得税汇算年收入不超过12万
  • 可供分配的利润是什么意思
  • 境外劳务输出收费表标准
  • 存货周转次数越高好还是越低好
  • 暂估固定资产的账务处理
  • 企业支付宝要手续费吗
  • 预计负债 负债 区别
  • 个体工商户是否要交税
  • 小型润滑油生产设备要哪些
  • 会计出账入账怎么做
  • win10自动
  • macbookpro隐藏
  • window8怎么样
  • ssh远程登录设置
  • windows7word文档打不开怎么办
  • opengl 实现
  • node介绍
  • xcode配置opencv
  • js发送ajax请求
  • nodejs连接mongodb副本集
  • Node.js中的事件循环是什么
  • cocos2dx-3.2+lua 常用函数
  • 手把手教你把币从交易所提到钱包
  • javascript例题
  • 人员进出管理系统
  • jquery实现原理
  • 北京社保三方协议
  • 2020年个体税收政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设