ES6第三章-变量的解构赋值

1、数组的解构赋值

基本用法
ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。

ES6学习之解构赋值
ES6学习之解构赋值
如果等号的右边不是数组(或者严格地说,不是可遍历的结构),那么将会报错。
ES6学习之解构赋值
Set 结构也可以使用数组的解构赋值。
ES6学习之解构赋值
默认值
解构赋值允许指定默认值。
ES6学习之解构赋值
只有当一个数组成员严格等于undefined,默认值才会生效。
ES6学习之解构赋值
默认值可以引用解构赋值的其他变量,但该变量必须已经声明。
ES6学习之解构赋值

对象的解构赋值

对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
ES6学习之解构赋值
解构失败则对象的值变为undefined;同时,
对象的解构赋值,可以很方便地将现有对象的方法,赋值到某个变量。
ES6学习之解构赋值
也就是说,对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而不是前者。
与数组一样,解构也可以用于嵌套结构的对象。
ES6学习之解构赋值
默认值
对象的解构也可以指定默认值。
ES6学习之解构赋值

字符串的解构赋值

字符串也可以解构赋值。这是因为此时,字符串被转换成了一个类似数组的对象。
ES6学习之解构赋值

数值和布尔值的解构赋值

解构赋值时,如果等号右边是数值和布尔值,则会先转为对象
ES6学习之解构赋值

函数参数的解构赋值

ES6学习之解构赋值

圆括号问题

只要有可能导致解构的歧义,就不得使用圆括号。
不能使用圆括号的三种情况
1、变量声明语句
ES6学习之解构赋值
2、函数参数
ES6学习之解构赋值
3、赋值语句的模式
ES6学习之解构赋值

用途

1、交换变量的值
ES6学习之解构赋值
2、从函数返回多个值
函数只能返回一个值,如果要返回多个值,只能将它们放在数组或对象里返回。有了解构赋值,取出这些值就非常方便。
ES6学习之解构赋值
3、函数参数的定义
ES6学习之解构赋值
4、提取json数据
ES6学习之解构赋值
5、函数参数的默认值

ES6学习之解构赋值
6、遍历Map结构
ES6学习之解构赋值

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-08
  • 2021-06-30
猜你喜欢
  • 2022-12-23
  • 2021-12-28
  • 2021-06-05
  • 2021-09-07
  • 2022-12-23
相关资源
相似解决方案