位置: 编程技术 - 正文

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

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

  • 核定征收的一般纳税人开专票怎么入账
  • 买充值卡可以开票吗
  • 个人劳务报酬所得税率表
  • 固定成本和变动成本之和称作
  • 一般纳税人购销合同印花税计税依据
  • 预收账款借方和贷方表示什么
  • 税控盘丢失需要罚款吗
  • 期间费用构成产品成本嘛
  • 土地使用证明可以补办吗
  • 开具的增值税发票丢失最新处理办法
  • 最新个人独资企业
  • 中国增值税发展史
  • 国家对发票开具时间有没有具体规定?
  • 保障性住房享有怎么取消儿子的名字呀
  • 进项票入账但是不抵扣怎么做账
  • 申请办理银行承兑流程
  • 增值税完税凭证怎么做账
  • 分配股利在报表中怎么填
  • 原材料暂估入库怎么做账
  • 以前年度损益调整借贷方向
  • 如何删除驱动器里面的文件
  • php随机生成1到3的数字
  • 现在我们来看看windows中的新增内容
  • 枇杷叶的功效与作用及副作用
  • 先出库还是先发货
  • 不动产固定资产标识牌
  • 供水公司与用户合作协议
  • 工会经费是如何计提的
  • vue treegrid
  • 本月损益类未结转为零的一级科目
  • php+ mysql教程
  • 预提费用多提汇算清缴怎么做账
  • 员工休产假不发工资违法吗
  • 个人所得税法实施细则2023
  • 费用化与资本化的区别与影响
  • 不抵扣的进项税为什么要交税
  • linux登录root用户登录
  • 存单丢失了,去哪里挂失
  • 在职职工暖气费补助款
  • 企业外购的软件叫什么
  • 取得股息红利怎么交税
  • 怎么去银行买承兑
  • 销售租赁服务税率
  • 工资每月变动社保怎么变
  • 机动车转让后未过户原车主要承担赔偿责任
  • 如何查询公司的营业执照照片
  • 小规模普票收入要交税吗
  • 工程结算与开票的关系
  • 工资油补也要交税吗
  • 明细账填制要求
  • mysql 最新稳定版本
  • 根据索引名称查字段
  • 安装了windows
  • xp系统怎么创建本地连接2
  • ati2mdxx.exe是什么进程 ati2mdxx进程信息查询
  • win7如何创建新桌面
  • 双击windows 7桌面上的快捷图标可以干嘛
  • Win10控制面板在c盘哪里
  • 怎么查看opengl版本
  • 微信小程序顶部导航栏怎么做
  • 在布局中使用选定的比例
  • windows visual studio 基于openGL的粒子系统设计
  • opengl光照算法
  • jQuery实现CheckBox全选、全不选功能
  • sequelize join
  • android fragmentation
  • 用css制作网页的步骤
  • 发送邮件python
  • android基础教程
  • 网络ping大包
  • Unity3D WebCamTexture 调用外部摄像头
  • unity dc
  • python 父类方法
  • macbookair安卓系统怎么切换到苹果
  • 粮食的增值税税率怎么算
  • 南宁地方税务局网站
  • 河南机构改革人员名单
  • 税务局纳税服务品牌
  • 江苏税务如何绑定多家企业账户
  • 季度申报成功与否怎么查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设