美文网首页
变量的解构赋值

变量的解构赋值

作者: XinYuan2018 | 来源:发表于2019-05-17 14:59 被阅读0次

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

数组的解构赋值

  1. 数组的元素是按次序排列的,变量的取值由它的位置决定
  2. 解构失败,变量的值等于undefined
  3. 等号右边不是数组(严格地说不是可遍历结构),会报错
  4. 允许指定默认值,数组成员严格等于undefined,默认值才会生效

对象的解构赋值

  1. 对象的属性没有次序,变量必须与属性同名,才能取到正确的值
  2. 解构失败,变量的值等于undefined
  3. 对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是属性值,而不是属性名
  4. 解构模式是嵌套的对象,而子对象所在的父属性不存在,将会报错
  5. 对象的解构赋值可以取到继承的属性
  6. 允许指定默认值,对象的属性值严格等于undefined,默认值才会生效

字符串的解构赋值

  1. 字符串被转为了一个类似数组的对象
  2. 类似数组的对象都有一个length属性,因此可以对这个属性解构赋值

数值和布尔值的解构

  1. 解构赋值时,如果等号右边是数值和布尔值,会先转为对象
  2. 解构赋值的规则是,只要等号右边的值不是对象或数组,就先将其转为对象。由于undefined和null无法转为对象,所以对它们进行解构赋值会报错

函数参数的解构赋值

类似于数组和对象的解构赋值

圆括号问题

  1. 不能使用圆括号的情况
  • 变量声明语句
  • 函数参数
  • 赋值语句的模式
  1. 可以使用圆括号的情况
  • 赋值语句的非模式部分,可以使用圆括号

用途

  1. 交换变量的值
  2. 从函数返回多个值
  3. 函数参数的定义
  4. 提取JSON数据
  5. 函数参数的默认值
  6. 遍历Map结构
  7. 输入模块的指定方法

相关文章

  • 解构赋值

    解构赋值:ES6 中新增了变量赋值的方式,从数组和对象中提取值,对变量进行赋值。 单独赋值给变量,解构赋值。 解构...

  • ES6笔记(解构赋值)

    ES6笔记(解构赋值) 解构赋值 变量的解构: 解构赋值允许指定默认值。 解构赋值必须保证赋值方 被赋值方类型一...

  • 变量的解构赋值

    数组的解构赋值: 解构,就是从数组和对象中提取值,然后对变量进行赋值 解构赋值: 解构不成功,变量的值就等于und...

  • ES6系列之变量的解构赋值

    本篇目录: 数组的解构赋值变量声明并赋值时的解构变量先声明后赋值时的解构不完全解构默认值交换变量解析一个从函数返回...

  • 解构赋值

    解构赋值 数组的解构赋值 嵌套,默认值,展开符 对象的解构赋值 对象解构赋值的本质与简写 对象解构的模式与变量 对...

  • 『ES6脚丫系列』变量的解构赋值

    『ES6脚丫系列』变量的解构赋值 第一章:变量的解构赋值的概念 【01】Q:什么是变量的解构赋值?有哪些方式? 吃...

  • ES6的解构赋值

    一、前言 什么是“解构赋值”呢?就是从数组或者对象中取值,对变量进行赋值,这就是变量的解构赋值。 二、数组的解构赋...

  • 名词

    1 解构: 从数组或对象中提取值,给变量赋值这被称为解构解构赋值的变量都会重新声明解构赋值的规则是,只要等号右边的...

  • 变量的解构赋值 - 字符串、数值、布尔值、函数参数

    一、字符串的解构赋值 二、数值和布尔值的解构赋值 三、函数参数的解构赋值 变量的解构赋值 - 数组篇[https:...

  • Z03_变量的解构赋值

    变量的解构赋值 数组的解构赋值 ES 中从数组和对象之中提取数值,对变量进行赋值,这个过程称为解构 1. 对于 S...

网友评论

      本文标题:变量的解构赋值

      本文链接:https://www.haomeiwen.com/subject/wwuiaqtx.html