位置: 编程技术 - 正文

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

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

  • 增值税滞纳金怎么做账
  • 个税可以作废重新换电脑申报吗
  • 银行电子回单有没有法律效应
  • 税务登记如何注销
  • 什么是纳税义务人,在理解这一观念时应注意哪些问题
  • 汽车运输企业付给车主的运费算成本吗
  • 补缴以前年度增值税如何做账
  • 会计分录的含义及三要素
  • 公司注销还能要回钱吗
  • 小微企业季报
  • 预缴税款什么时候可以手动填写申报表
  • 房租收到专票账务处理
  • 化肥发票怎么开
  • 金蝶财务软件固定资产模块固定资产调拨
  • 优惠办法
  • 应付账款收不回,可否转营业外收入
  • 技术服务费可以计入研发费用吗
  • 特殊业务分录
  • 民办学校都没有编制吗
  • 业务招揽方式
  • 如何利用成套消费品进行纳税筹划
  • 费用的补提利息怎么计算
  • 跟银行借款按月还款
  • 公司注销对外投资股权有效吗
  • 代订住宿费属于那个经营范围
  • 收到购货方退回的发票联和抵扣联如何处理?
  • 买股票的分红怎么拿
  • 充积分送手机
  • 电脑黑屏怎么办主机还是亮的
  • Win11 Build 22000.132 预览版 ISO 官方镜像下载与安装
  • 跟客户合作后发给客户的句子
  • 房地产企业如何结转成本
  • newsupd.exe - newsupd是什么进程 有什么用
  • 小规模纳税人多少钱不用交税
  • 应收款减少怎么做账
  • 房地产开发企业土地增值税怎么计算
  • java date类型
  • 残保金政策建议
  • 消费税减免规定有哪些
  • centos7搭建http
  • php制作日历代码
  • yii框架教程
  • 判别是否属于劳务报酬
  • 厂区道路不应该使用哪种材料
  • python.mat
  • phpcms安装
  • access创建一个表
  • wordpress防盗链
  • 不动产集体产权证什么意思
  • 小微企业直接考察模式
  • 纳税人增值税专用发票票面价税合计最多开多少金额
  • 代开增值税额与实际缴款额差一分钱如何入账?
  • 融资租赁算非标业务吗
  • 企业应如何合理安排筹资期限的组合方式,优化资金结构
  • 账户外币转人民币
  • 债权投资有哪些科目
  • 融资方式股权融资
  • 认缴制下实收资本可以减少吗
  • 冲减成本费用
  • 其他应付款转应付账款分录
  • 现金流动负债比率越大越好吗
  • 应付利润科目
  • 本年利润为什么是负数
  • mysql命令执行顺序
  • 在centOS 7安装mysql 5.7的详细教程
  • 使用组策略可控制什么
  • microsoft ime进程
  • win7系统笔记本怎么连接wifi
  • win 10预览版
  • nodejs与springboot结合
  • shell脚本入门详解
  • xcopy命令怎么用
  • bgm背景
  • js设计模式有哪些
  • javascript面向对象吗
  • 移动应用界面设计形考1答案
  • 怎么检查手机网络
  • 不予税务行政许可
  • 沈阳特慢病待遇
  • 去税务局补缴税款医疗费不带证件可以吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设