位置: 编程技术 - 正文

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更新补丁如何删除
  • 成品油的消费税可以抵扣吗
  • 行政单位跨年度收到发票,补付尾款会计分录
  • WordPress导航菜单权限控制
  • 工程质保金账务处理办法
  • thinkphp 插件
  • php截取指定字符串
  • typescriptlang
  • springmvc执行流程简单
  • node实战
  • 长期待摊费用账务
  • 国家退税收到的钱在哪里
  • 每股收益率计算公式举例
  • 发票验真伪需要盖章吗
  • 财政拨款结转是
  • 年底了,你们公司年会干点啥都?
  • sql多条记录取一条
  • db2 21000怎么解决
  • db2 798
  • 管理费用结转本年利润
  • 两处以上取得工资如何申报个税
  • 银行承兑汇票由谁出票
  • 所得税费用如何计提分录
  • 借支单是会计算做还是出纳做
  • 物流代收货款怎么收费
  • 加油预付卡销售 IC卡充值
  • 个人向公司借款流程
  • 产权转移书据纳税义务时间
  • 销售如果对待不同客户
  • 多张不同固定资产卡片可汇总生成一张固定资产凭证
  • mybatis collection 多条件查询的实现方法
  • sqlserver1053怎么解决
  • mysql无法创建函数
  • sqlserver日期类型数据
  • 10分钟学会
  • 一个基于口令的用户身份认证基本过程是怎样的?
  • openbabel安装
  • mmc无法创建管理单元怎么办win11
  • windows防火墙无法更改某些设置错误代码0×80070422
  • xp系统如何查看系统配置
  • dl是什么文件
  • information_schema翻译
  • android屏幕适配的五种方式
  • 一键清除照片上多余的人
  • js实现计时器在线时间
  • 零基础搭建直播室与云直播平台
  • 完美解决gvim的菜单乱码问题
  • python重复操作符
  • Unity3D游戏开发培训课程大纲
  • javascriptz
  • js获取当前点击事件的节点
  • js中闭包
  • javascript编写程序
  • jabsorb笔记_几个小例子第1/2页
  • 如何加强税务系统财务管理工作
  • 卫生志愿服务活动
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设