Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正在传播与array.prototype.slice.call(array\u-like)等效的类似array\u的对象_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript 正在传播与array.prototype.slice.call(array\u-like)等效的类似array\u的对象

Javascript 正在传播与array.prototype.slice.call(array\u-like)等效的类似array\u的对象,javascript,ecmascript-6,Javascript,Ecmascript 6,关于spread操作符如何工作的一些信息将非常有用。它是否与ES2015中引入的新符号有关?与符号无关,只是对象需要Iterable符号才能使用扩展语法。它并不等同于Array.prototype.splice调用,尽管您可能指的是Array.prototype.slice(),它只用于创建类似数组的对象的浅拷贝 这有点类似于使用.apply调用函数,将集合作为第二个参数传递,然后作为单个参数展开。但是,与.apply()不同,您可以使用多个集合(具有多个“排列”),并且可以在排列的集合之前和之

关于spread操作符如何工作的一些信息将非常有用。它是否与ES2015中引入的新符号有关?

与符号无关,只是对象需要
Iterable
符号才能使用扩展语法。它并不等同于
Array.prototype.splice
调用,尽管您可能指的是
Array.prototype.slice()
,它只用于创建类似数组的对象的浅拷贝

这有点类似于使用
.apply
调用函数,将集合作为第二个参数传递,然后作为单个参数展开。但是,与
.apply()
不同,您可以使用多个集合(具有多个“排列”),并且可以在排列的集合之前和之后传递其他参数

此外,使用
.apply()
任何类似数组的对象都可以工作(具有数字索引和
.length
),尽管在ES3中只有数组和参数对象可以工作。但是扩展语法只适用于Iterable对象