文档章节

ES6 对象的解构赋值

Jack088
 Jack088
发布于 01/17 16:24
字数 690
阅读 6
收藏 0
COS

基本用法

1.等号右边如果不是数组,将会报错(不是可遍历结构)

2.解构赋值 var, let, const命令声明均适用

3.set结构也可解构赋值(具有Iterator接口,可采用数组形式结构赋值)

set解构:任何类型的单个值的集合

 

默认值

1.数组成员的值不严格等于undefined,默认值不生效(null的话相应值依然为null)

2.如果默认值是表达式,表达式惰性求值,只有在用到的时候才会去执行

3.默认值可以引用结构赋值的其他变量,但该变量必须已声明

 

对象结构赋值

1.数组按次序排列,对象变量必须与属性同名

2.变量以前声明过,使用let赋值会报错

3.可用于嵌套结构的对象

line是变量,loc,start都是模式

4.对象结构可以指定默认值

(生效条件是对象属性值严格等于undefined,null不会生效,解构失败值为undefined)

5.解构模式是嵌套对象,且子对象父属性不存在,报错

6.已声明的变量解构赋值

js会将{x}理解成代码块,不将大括号写在行首即可

7.可以将现有对象的方法赋值到某个变量

let { sin, cos, log } = Math(Math对象的名为sin的方法直接赋值给sin变量)

 

字符串结构赋值

 

数值&布尔值

解构赋值规则:

① 只要等号右边不是对象先将其转化为对象,

② undefined和null无法转换为对象,报错

 

快函数参数解构

undefined会触发函数参数默认值

圆括号问题

1.变量声明语句中,模式不能带有圆括号 let {x:(c)} = {}

2.函数参数中,模式不能带有圆括号(函数参数也属于变量声明)

3.整个模式或嵌套模式中的一层,不可放入圆括号

赋值语句的非模式部分可使用

用途

1.[x, y] = [y, x]

2.函数返回的多个值分别赋值

3.函数参数与变量名对应

4.提取json数据(ajax请求返回数据处理中可用到)

5.函数参数的默认值,避免在函数内写var foo = config.foo || ”

6.遍历Map结构

7.引用模块的指定方法

本文转载自:http://baijiahao.baidu.com/s?id=1583104909901335723&wfr=spider&for=pc

共有 人打赏支持
Jack088
粉丝 43
博文 489
码字总数 70464
作品 0
程序员
私信 提问
【探秘ES6】系列专栏(六):解构赋值

ES6作为新一代JavaScript标准,已正式与广大前端开发者见面。为了让大家对ES6的诸多新特性有更深入的了解,Mozilla Web开发者博客推出了《ES6 In Depth》系列文章。CSDN已获授权,将持续对该...

一配
2015/11/08
0
0
2017.11.21-学习笔记:篇二之es6解构赋值

变量解构 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(destructuring)。 本文简单介绍解构赋值的基本用法 1.数组的解构赋值 es5 中给多个变量赋值方式: ...

演员小新
2017/11/21
0
0
【ES6基础】解构赋值(destructuring assignment)

我们经常可以在其他编程语言(如GO语言)中看到多返回值这种特性,因为在很多实际场景中,函数的返回值中,函数的返回值并不只有一个单一的值。ES6之前,并没有可以直接使用语法来实现多返回值...

今天
0
0
ES6(二)--变量的解构赋值

定义 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 数组的解构赋值 基本要领:结构一致,左边变量等于“=”右边的值 完全匹配 部分匹配 不...

一书and一世界
2017/01/12
0
0
ES6、ES7、ES8特性-学习提炼总结(一)

ES6 ECMAScript 6.0,简称ES6是JavaScript语言的下一代标准,在2015年6月发布。目的是让JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 Babel转码器 Babel是一个广泛使...

永远保留内心的简单和单纯
2018/11/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

编码规范

4.、编码时的一些建议 1、尽量指定类、方法的final修饰符——虚拟机会想办法内联所有的final方法来减少方法执行时创建栈帧的数量,从而降低栈溢出的风险 2、尽量重用对象——重复new对象会增...

呵呵哒灬
36分钟前
2
0
第一个docker化的java应用

Docker 思想 集装箱 标准化:运输方式/存储方式/API 接口 隔离

BeanHo
36分钟前
1
0
数据库技术-Mysql主从复制与数据备份

数据库技术-Mysql 主从复制的原理: MySQL中数据复制的基础是二进制日志文件(binary log file)。一台MySQL数据库一旦启用二进制日志后,其作为master,它的数据库中所有操作都会以“事件”...

须臾之余
昨天
13
0
Git远程仓库——GitHub的使用(一)

Git远程仓库——GitHub的使用(一) 一 、 Git远程仓库 由于你的本地仓库和GitHub仓库之间的传输是通过SSH加密的,所以需要一下设置: 步骤一、 创建SSH key 在用户主目录下,看看有没有.ss...

lwenhao
昨天
4
0
SpringBoot 整合

springBoot 整合模板引擎 SpringBoot 整合Mybatis SpringBoot 整合redis SpringBoot 整合定时任务 SpringBoot 整合拦截器...

细节探索者
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部