位置: 编程技术 - 正文

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

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

  • 小规模纳税人增值税减免账务处理
  • 地方税概述?
  • 零税率是指
  • 劳务费计入职工薪酬吗
  • 工程咨询属于什么合同
  • 企业电子支付
  • 购物返现活动文案
  • 取得的进项发票当月不抵扣怎么做账
  • 航天金穗服务费抵扣
  • 销售使用固定资产账务怎么处理
  • 对外来发票金额怎么算
  • 房地产开发公司怎么做账
  • 采购合同安装服务费审价规定
  • 实际结算金额超出出票金额,银行汇票要给收款人么
  • 税后2.5万工资税前多少钱
  • 开票多一分钱怎么办
  • 支付设备定金会退回吗
  • 如何解决win10系统复制文件速度
  • 营业外收入可以在贷方吗
  • 广告公司的成本是什么
  • win11怎么用win10界面
  • “linux系统”
  • php中的函数可以分为哪几种
  • 怎么找回windows图片查看器
  • anyproxy提高公众号文章采集效率
  • 如何在pc桌面上添加文件
  • 印花税申报后怎么缴费
  • PHP:ftp_rename()的用法_FTP函数
  • 向银行借入长期借款50万元
  • 非货币性资产对外捐赠企业所得税处理
  • 估价入库金额怎么来
  • 转让子公司产生的投资收益在合并层面是不是全部抵消
  • php运算符号
  • PHP使用pear实现mail发送功能 windows环境下配置pear
  • 出口退税抵减应计入哪里
  • 接口二次封装
  • bash的主要功能
  • 差旅费津贴与差旅费补助
  • 预收账款开票了怎么做账报税
  • 深入理解linux内核
  • sql获取第一条记录的内容
  • 职工食堂费用计入哪个科目
  • 企业车辆年检费多少钱
  • 资金托管账户的钱能查到吗
  • 小规模纳税人开票限额是多少
  • 毛利率在餐饮中的应用
  • 沙石料进项发票
  • 业务招待费的所得税扣除
  • 会计专业技术资格初级是什么职称
  • 投资者向企业投入资本的形式
  • 公司利润如何提取避税
  • 安全生产费会计准则
  • 现金日记账年结怎么划线
  • 财政补助收入的支付制度包括
  • 预付账款要设明细科目吗
  • 非流动资产处置利得计入什么科目
  • 一般纳税人支付的哪些增值税进项税额不能抵扣
  • 房地产企业收入确认条件税法
  • SQLServer XML查询快速入门(18句话)
  • hyper-v怎么样
  • win7系统怎么删除
  • win10系统更新后有问题如何恢复
  • win7如何ghost
  • win10系统ie浏览器不见了
  • pop3是什么意思中文
  • 怎么看win8还是win10
  • linux怎么禁用用户
  • windows10玩lol
  • Linux通过sar命令查看网卡流量
  • Css属性中表示字体的是
  • unity3d状态机
  • 用bat脚本快速编程
  • linux监控cpu使用率脚本
  • shell命令是干嘛的
  • Javascript valueOf 使用方法
  • android开源app
  • python语言面向过程吗
  • 页面跳转后js还会执行吗
  • 国税局调动
  • 纳税人识别号不能含有IOZSV
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设