ES6解构

亲爱的小伙伴,你ES6的解构了解多少呢,下边就让我来分享一下自己对ES6解构的学习经验吧。

1.数组解构

1.1完全解构

对于数组的完全解构需要,等号两边匹配模式完全一致,即如下

 结果如下

如果两边匹配模式不一致,将有如下结果

1.2不完全解构

如下图中,d变量只解构出[4,5,6]中的4

1.3集合解构

对于结合解构 ,就是使用 “...”拓展运算符,将数组中还剩下未解构的元素,集合解构为一个数组

这里a将元素1解构后,数组中还剩下 2,3,4元素,他们会被解构为一个b数组

1.4默认值解构

所谓默认值解构,就是给用来解构的变量设置默认值,当被解构的元素不存在时,该变量的值就等于默认值

当解构的数组元有该元素时,解构的变量值等于数组元素值

等解构的数组元没有该元素时,解构的变量值等于设置的默认值

 

 

1.5默认值也可以是函数

这里将变量默认值设置为test函数的执行,被解构的数组元素不存在

输出的是这个函数的执行,之所以打印结构中有2 ,是因为test函数的返回值为2

1.6数组解构深拷贝

这里,使用arr变量,将数组a结构为一个arr数组,使用“===”运算符判断两个数组是否全等

打印结果为false,说明两者在数据类型和值都相同的情况下,引用地址不相同,所以数组的解构是值的传递,故数组的解构是深拷贝

2.对象解构

关于对象的解构,这里需要基本说明一下,如下图,以name为例,name是用于结构的变量名,a是对这个变量的重命名。这里需要注意的是,对象的属性没有次序,变量必须与属性同名,才能取到正确的值

2.1不给变量重命名

这里以name为例,这里的name相当于,name:name,它的名称就是name

最终打印结果如下

2.2给变量重命名

这里给name变量重命名为a,给age变量命名为b

2.3默认值解构

给解构变量命名的同时,为其设置默认值,当被解构的对象中没有该属性时,变量的值就为默认值

1.被解构对象有该属性值时

解构变量的值为属性值

2.被解构对象中没有该属性值时

解构变量的值为默认值

2.4嵌套解构

对于嵌套解构,就是混合有数组和对象的解构

这里对于a,b的值的分析,首先考虑最外层的解构是对象的解构;然后对象的属性值为数组,再进行数组的解构,数组中第一个值的解构就是a,第二个值是对象,再对对象进行解构,b的值就为“world”

 

3.字符串解构

3.1使用数组解构

普通解构

集合解构

​​​​​​​

3.2使用对象解构

这里是将字符串当成了String基本包装器类型,这里可以获取到包装器构造函数原型对象中的方法

​​​​​​​

4.数值解构

使用对象解构

这里是将数值当成了Number基本包装器类型,这里可以获取到包装器构造函数原型对象中的方法

 

 

5.布尔值解构

使用对象解构

这里是将布尔值当成了Boolean基本包装器类型,这里可以获取到包装器构造函数原型对象中的方法

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值