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基本包装器类型,这里可以获取到包装器构造函数原型对象中的方法

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ES6解构赋值的好处有以下几点: 1. 简化代码:ES6解构赋值可以让我们更简洁地从数组或对象中提取值,并将其赋给变量。这样可以减少冗余的代码,使代码更加简洁易读。 2. 提高可读性:通过使用解构赋值,我们可以清晰地表达出我们想要提取的值的含义,使代码更易于理解和维护。 3. 方便的交换变量值:使用解构赋值可以方便地交换两个变量的值,而不需要使用额外的中间变量。 4. 快速提取对象属性:解构赋值可以快速提取对象中的属性,并将其赋给变量。这样可以方便地访问和操作对象的属性。 5. 函数参数的灵活应用:解构赋值可以用于函数的参数中,可以方便地从传入的对象或数组中提取所需的值,使函数的参数更加灵活。 6. 处理JSON数据:解构赋值可以方便地从JSON数据中提取所需的值,使得处理JSON数据更加方便快捷。 7. 支持默认值:解构赋值可以为变量设置默认值,当提取的值不存在时,可以使用默认值来代替,避免出现undefined的情况。 8. 多层嵌套解构ES6解构赋值支持多层嵌套的解构,可以方便地从复杂的数据结构中提取所需的值。 9. 可以与扩展运算符结合使用:解构赋值可以与扩展运算符(...)结合使用,可以方便地提取数组或对象中的部分值,并将其与其他值合并或进行其他操作。 总之,ES6解构赋值可以使我们的代码更加简洁、可读性更高,并且提供了更多的灵活性和便利性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值