10.7 更多数组解构特性

10.7.1 省略

在解构过程中,省略使用数组“空洞”语法来跳过元素:

let [,,x] = ['a', 'b', 'c', 'd']; // x = 'c'

10.7.2 剩余操作符(...)

剩余操作符使你能够提取剩余的数组元素到一个数组里面。你可以在数组模式的最后的部分使用这个操作符:

let [x, ...y] = ['a', 'b', 'c']; // x='a'; y=['b', 'c']

剩余操作符提取数据,数组字面量和函数调用都可以使用相同的扩展操作符语法(...),下一章会讲解这种用法。

如果该操作符没找到任何元素,将会使操作数匹配上一个空数组。也就是说,剩余操作符从不产生 undefined 或者 null 。例如:

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

剩余操作符的操作数不一定是一个变量,也可以是模式:

let [x, ...[y, z]] = ['a', 'b', 'c'];
    // x = 'a'; y = 'b'; z = 'c'

剩余操作符触发了如下解构过程:

[y, z] = ['b', 'c']

扩展操作符(...)看起来和剩余操作符一模一样,但是它用于函数调用和数组字面量(不是在解构模式里面)。

results matching ""

    No results matching ""