ES6中如何详细解析数组与对象的解构赋值用法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1157个文字,预计阅读时间需要5分钟。
本文以实例讲述了ES6中数组的结构与赋值。分享给广大读者,供参考:
数组结构与赋值:+ 数组的解构赋值+ 基本用法+ ES6允许按一定模式从数组和对象中提取值,对变量进行赋值
例如:- 数组的解构赋值- 基本用法- 从数组和对象中提取值,对变量进行赋值
本文实例讲述了ES6数组与对象的解构赋值。分享给大家供大家参考,具体如下:
数组的解构赋值
基本用法
ES6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这被称之为解构(Destructuring)
// 以前为变量赋值,只能直接指定值 var a = 1; var b = 2; var c = 3; // ES6允许写成这样 var [a,b,c] = [1,2,3];
本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。
下面是一些使用嵌套数组进行解构的例子:
let [foo,[[bar],baz]] = [1,[[2],3]]; foo // 1 bar // 2 baz // 3 let [,,third] = ["foo","bar","baz"]; third // "baz" let [head,...tail] = [1,2,3,4]; head // 1 tail // [2,3,4] let [x,y,...z] = ['a']; x // "a" y // undefined z // []
默认值
解构赋值允许制定默认值
var [foo = true] = []; foo // true [x,y='b'] = ['a']; // x='a', y='b'
注意,ES6内部使用严格相等运算符(===),判断一个位置是否有值。
所以,如果一个数组成员不严格等于undefined,默认值是不会生效的。
本文共计1157个文字,预计阅读时间需要5分钟。
本文以实例讲述了ES6中数组的结构与赋值。分享给广大读者,供参考:
数组结构与赋值:+ 数组的解构赋值+ 基本用法+ ES6允许按一定模式从数组和对象中提取值,对变量进行赋值
例如:- 数组的解构赋值- 基本用法- 从数组和对象中提取值,对变量进行赋值
本文实例讲述了ES6数组与对象的解构赋值。分享给大家供大家参考,具体如下:
数组的解构赋值
基本用法
ES6允许按照一定的模式,从数组和对象中提取值,对变量进行赋值,这被称之为解构(Destructuring)
// 以前为变量赋值,只能直接指定值 var a = 1; var b = 2; var c = 3; // ES6允许写成这样 var [a,b,c] = [1,2,3];
本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值。
下面是一些使用嵌套数组进行解构的例子:
let [foo,[[bar],baz]] = [1,[[2],3]]; foo // 1 bar // 2 baz // 3 let [,,third] = ["foo","bar","baz"]; third // "baz" let [head,...tail] = [1,2,3,4]; head // 1 tail // [2,3,4] let [x,y,...z] = ['a']; x // "a" y // undefined z // []
默认值
解构赋值允许制定默认值
var [foo = true] = []; foo // true [x,y='b'] = ['a']; // x='a', y='b'
注意,ES6内部使用严格相等运算符(===),判断一个位置是否有值。
所以,如果一个数组成员不严格等于undefined,默认值是不会生效的。

