ES6解构赋值实例详解

2026-03-08 13:33:29

1、基本用法

ES6解构赋值实例详解

2、等号右边如果不是数组,将会报错(不是可遍历结构)2、解构赋值 var, let, const命令声明均适用3、set结构也可解构赋值(具有Iterator接口,可采用数组形式结构赋值)

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

ES6解构赋值实例详解

3、默认值

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

ES6解构赋值实例详解

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

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

对象结构赋值

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

ES6解构赋值实例详解

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

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

ES6解构赋值实例详解

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

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

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

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

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

ES6解构赋值实例详解

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

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

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

字符串解构赋值

ES6解构赋值实例详解

8、数值&布尔值

解构赋值规则:

① 只要等号右边不是对象先将其转化为对象,② undefined和null无法转换为对象,报错

ES6解构赋值实例详解

9、undefined会触发函数参数默认值

圆括号问题

1、变量声明语句中,模式不能带有圆括号 let {x:(c)} = {}2、函数参数中,模式不能带有圆括号(函数参数也属于变量声明)3、整个模式或嵌套模式中的一层,不可放入圆括号

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

用途

1、[x, y] = [y, x]2、函数返回的多个值分别赋值3、函数参数与变量名对应4、提取json数据(ajax请求返回数据处理中可用到)

ES6解构赋值实例详解

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

6、遍历Map结构

ES6解构赋值实例详解

11、引用模块的指定方法

ES6解构赋值实例详解

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢