有关传播运营商如何运作的一些信息会很棒。它与ES2015中引入的新符号有什么关系吗?
答案 0 :(得分:1)
与Symbol无关,除了对象使用扩展语法需要Iterable
符号。它并不等同于Array.prototype.splice
调用,尽管你可能意味着Array.prototype.slice()
,它只是用于制作类似数组的对象的浅层副本。
它有点类似于使用.apply
来调用函数,将集合作为第二个参数传递,它作为单独的参数展开。但是,与.apply()
不同,您可以使用多个集合(具有多个“点差”),并且可以在传播集合之前和之后传递其他参数。
此外,使用.apply()
任何类似数组的对象都可以工作(具有数字索引和.length
),但在ES3中只有Arrays和Arguments对象有效。但扩展语法仅适用于Iterable对象。