解构赋值

解构赋值

ES6允许按照一定模式从数组和对象中提取值,然后对变量进行赋值,该操作即为解构(Destructuring)。

数组的解构赋值

基本用法

在这里插入图片描述
该写法属于模式匹配,只要等号两边的模式相同,左边的变量就会被赋予对应的值。
1.如果结构不成功则会返回undefined
在这里插入图片描述
bar为undefined
2.如果赋值不是数组则会报错。
在这里插入图片描述
3.没有变量接收的解构值会被忽略掉。
在这里插入图片描述
4.只要某种数据接口具有Iterator(迭代器)接口,都可以采用数组形式的解构赋值。
在这里插入图片描述
5.对于未知长度的数组,想要部分获取数值可以使用数组解构赋值。

默认值

1.解构赋值可以指定默认值
在这里插入图片描述
只有一个数组成员严格等于undefined时,默认值才会生效
2.默认值可以引用解构赋值的其他变量,但改变量必须已经声明,否则会报错。
在这里插入图片描述
3.如果默认值是一个表达式,会采用惰性求值,只有在用到时才会求值。
在这里插入图片描述

对象的解构赋值

对象解构赋值与数组不同

1.对象的属性没有次序,变量必须与属性同名才能取到正确的值。
在这里插入图片描述
2.如果变量名与属性名不一致,必须明确对应关系。
在这里插入图片描述
3.如果要将一个已经声明的变量用于解构赋值,需要用括号()括起来
在这里插入图片描述

字符串的解构赋值

1.字符串的解构能够返回属性和方法
在这里插入图片描述

数值和布尔值的解构赋值

解构赋值的原则是如果等号右边不是对象则先转化为对象

在这里插入图片描述

函数参数的解构赋值

###实参赋值给形参时能使用解构赋值

解构赋值的用途

1.交换变量的值

2.接受函数返回的多个值

在这里插入图片描述

3.函数参数的定义

在这里插入图片描述

4.提取json数据

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值