美文网首页ES6
ES6教程(二)数组的结构赋值

ES6教程(二)数组的结构赋值

作者: klmhly | 来源:发表于2018-07-07 19:45 被阅读0次

1. 成功解构赋值
#情况1:

let [a, b, c] = [1, 2, 3];

#情况2:

let [foo, [[bar], baz]] = [1, [[2], 3]];
foo // 1
bar // 2
baz // 3

#情况3:

let [ , , third] = ["foo", "bar", "baz"];
third // "baz"

#情况4:

let [head, ...tail] = [1, 2, 3, 4];
head // 1
tail // [2, 3, 4]

#情况5:

let [x, y, ...z] = ['a'];
x // "a"
y // undefined
z // []

2. 解构不成功

let [foo] = [];  foo //  undefined
let [bar, foo] = [1];  bar, foo //1, undefined

如果结构不成功,变量的值就会等于undefined


3. 不完全解构
等号左边的模式,只匹配一部分的等号右边的数组。这种情况下,解构依然可以成功。

let [x, y] = [1, 2, 3];
x // 1
y // 2

let [a, [b], d] = [1, [2, 3], 4];
a // 1
b // 2
d // 4

4. 数据结构具有 Iterator 接口,都可以采用数组形式的解构赋值

let [x, y, z] = new Set(['a', 'b', 'c']);
x // "a"

5. 解构赋值允许指定默认值

let [foo = true] = [];
foo // true

相关文章

  • 6.ECMAScript6(ES6)- ES6的结构与赋值

    1、ES6的结构与赋值 (1)允许直接给数组进行赋值,也叫模版匹配 (2)ES6的对象与结构赋值 (3)对已经定义...

  • ES6教程(二)数组的结构赋值

    1. 成功解构赋值#情况1: #情况2: #情况3: #情况4: #情况5: 2. 解构不成功 如果结构不成功,...

  • ES6

    ##ES6 ### 一、解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为结构赋值,...

  • 2018-06-01解构赋值

    ##ES6 ### 一、解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为结构赋值...

  • 26

    ES6 一、解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为结构赋值,解构赋值主要...

  • JavaScript26

    ES6 一、解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为结构赋值,解构赋值主要...

  • js day26

    ES6 一、解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为结构赋值,解构赋值主要...

  • ES6学习笔记——解构赋值

    变量的结构赋值 数组的解构赋值 ES6允许从数组中提取值,按照对应的位置,对变量赋值。 如果解构不成功,变量的值就...

  • 二.变量的解构赋值

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

  • 解构赋值,箭头函数,剩余参数

    解构赋值(★★★) ES6中允许从数组中提取值,按照对应位置,对变量赋值,对象也可以实现解构 数组解构 对象结构 ...

网友评论

    本文标题:ES6教程(二)数组的结构赋值

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