看代码的时候遇到了下面这样一段:

(代码链接:https://zhuanlan.zhihu.com/p/166009071)

发现有“...”这样的语法。查了一下文档,原来这是js中的展开语法。MDN上的定义为:

展开语法(Spread syntax), 可以在函数调用/数组构造时, 将数组表达式或者string在语法层面展开;还可以在构造字面量对象时, 将对象表达式按key-value的方式展开。

以上面代码中的

为例,在chrome中的运行结果是:

在这里,...把一个nodelist展开来,作为Array的构造参数。

再看一个在String中应用的一个例子

不难明白,“...“的作用其实就是把nodelist,string等可迭代的东西展开来。