位置: 编程技术 - 正文

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

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

  • 金税盘技术维护费
  • 什么情况下可以领取失业保险金
  • 车船税可以免掉吗
  • 购买固定资产的进项税可以抵扣吗
  • 土地使用税是新增税吗
  • 增值税发票丢失可以用复印件入账么
  • 开票税金和实际交的税金差额怎么办
  • 一般纳税人净利润如何计算
  • 费用怎么分析
  • 银行理财怎么做才能赚钱
  • 转登记小规模纳税人转让固定资产
  • 现金日记账年结模板
  • 培训费没有发票怎么办
  • 暂估的成本跨年了怎么冲销后要调整报表吗
  • 企业自用房要交契税吗
  • 自行建造固定资产的计税基础
  • 企业用现金支付业务招待费1000元
  • 董事费条款
  • 餐费专票认证了怎么办
  • 餐厅开增值税普通发票
  • 一般纳税人未达到起征点要交税吗
  • 企业购入新能源电车需要缴纳印花税吗
  • 房地产企业的非流动资产周转率在多少以上
  • 零申报的印花税怎么打印
  • 增值税加计扣除是什么意思啊
  • 个人劳务费几个点
  • 扣发工资可以要赔偿吗
  • 工作流activity
  • 核定征收怎么申报个人经营所得
  • 电脑密码解除步数怎么弄
  • 集团公司交税怎么交?
  • 大型绿萝的养殖方法
  • 海关滞报金可以税前扣除吗 江苏
  • 机关事业单位体检费用标准规定
  • vue 使用js
  • php遍历对象
  • 参展费会计分录
  • matlab中自由变量
  • vue图片点击放大
  • 企业一直亏损老板也赚钱
  • 原材料用于在建工程增值税如何处理
  • 进项发票和销项发票金额相同还需要交税金吗
  • 增值税电子发票怎么下载
  • 进项税额大于销项税额期末留抵
  • mysql中join的用法
  • mongodb数据类型有哪些
  • 月末库存商品成本计算
  • 工业企业取得土地收益
  • 小规模纳税人怎么申报增值税报表
  • mysql常用语
  • 增值税普通发票和电子普通发票的区别
  • 企业所得税季度预缴纳税申报表
  • 负债与所有者权益比率计算公式
  • 以前年度多计收入今年怎么调整
  • 公司向法人借款有税务风险吗
  • 现金余额不对怎么处理
  • 如果没有抵扣要交多少税
  • 税控设备维护费会计分录
  • 交去年的企业所得税吗
  • 做无票收入如何报税
  • 新收入准则要求
  • 工业企业预提费用怎么算
  • 一些 T-SQL 技巧
  • xp系统英文版怎么改成中文
  • vs显示进程已退出
  • win8如何更新驱动
  • centos 删除恢复
  • 四步制作的花
  • cocos2dx 3.5 win7 eclipse 环境搭建及hello world
  • javaweb技术栈是什么
  • perl执行linux命令
  • [置顶]bilinovel
  • 蓝牙协议栈包括
  • 收集linux日志
  • jquery模拟回车
  • JavaScript Switch 声明
  • jquery表单事件验证表单
  • 发票查验平台可以查询自己给对方开的发票吗?
  • 海关免税金额现在是多少金额
  • 车辆购置税查询平台打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设