ES6中的解构赋值

按照原有值的结构:把原数值中的某一部分内容快速的获取到
也可以说是快速的给一个变量赋值

【1】数组的解构赋值

let ary=[12,23,34];

传统的赋值操作 a b c 想要用数组里的值 需要用索引一一赋值

在这里插入图片描述
加粗样式结构赋值本身是ES6的语法规范,使用什么关健字来声明这些变量都是无所谓的

在这里插入图片描述
在这里插入图片描述

但是:这个操作在JS的严格模式下是不允许的,因为严格模式下不允许出现非使用var /let 等声明的变量

[12,[23,24][45,56,[67,78]]] 把多维数组中的 34、56、78获取到
并且分别赋值给 A、B、C
在这里插入图片描述

let [,[,A],[,B,[,C]]]=[12,[23,24],[45,56,[67,78]]];  // 不需要的数用 ,代替
console.log(A, B, C);//assign.js:16 24 56 78

在这里插入图片描述
如果只想获取数组中的前面的某一项 后面的结构不需要补全 如果想用后面的部分 结构就必须补全
在这里插入图片描述
在解构赋值中,我们可以给某一项设置默认值

解构赋值中支持 . . . xxx 拓展运算符
在这里插入图片描述
注意:拓展运算符只能出现在解构赋值中的解构末尾的位置在这里插入图片描述
在这里插入图片描述

【2】对象的解构赋值

在这里插入图片描述

在对象的解构赋值中需要注意的是:
赋值的变量需要和对象中的属性名吻合,否则无法获取对应的属性值

在这里插入图片描述
和数组解构赋值一样 我们可以把后面不需要获取的结构省略掉,而且也可以给当前的变量设置默认值

在这里插入图片描述
和数组解构赋值不一样的地方在于,对象前面不允许出现空白占位(因为对象获取需要通过具体的属性名获取,写成空的话,浏览器不知道怎么识别)

支持 . . . xxx 拓展运算符
在这里插入图片描述
把对象进行浅克隆(只把第一级克隆了)
在这里插入图片描述
在这里插入图片描述
在对象的解构赋值中,我们可以把对象的属性名起一个小名(A和B相当于小名或者别名)

在这里插入图片描述

【3】解构赋值的作用

(1)快速交换两个变量的值
在这里插入图片描述
(2)从函数中返回多个值
在这里插入图片描述
(2)函数的参数的定义 & 参数的默认值
(可以快速的接收到传递的多个值 我传递的是一个数组或者对象)
在这里插入图片描述
在这里插入图片描述
动画库封装的默认值 可以用解构赋值来设置默认参数
在这里插入图片描述
在这里插入图片描述
为了防止什么都不传的时候会报错 所以给‘默认参数的整个对象’也设置个默认值 空对象
在这里插入图片描述
在ES6中支持给函数设置默认值

(3)遍历map结构

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值