es6 扩展运算符疑问

阮一峰 :扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。

其中 rest 参数的逆运算 是什么意思? 
参数序列 又是什么意思? 它是什么样的数据结构 ?

我想知道 扩展运算符的原理 是什么


犯罪嫌疑人X
浏览 572回答 2
2回答

慕哥9229398

看函数部分的rest的时候你可以知道,可以使用function (...arr){}的形式,将传进来东西全部接受进arr(这么名是你定义时可随便起的)。那么扩展运算符就是逆过程,将收集起来的东西再分散展开。参数序列是类似于arguments的东西,就是包含函数参数的一个序列- -。底层怎么实现的我也不知道。

幕布斯7119047

没什么原理,只是语法糖而已。前者spread你已经知道了,后者可以搜索关键词“解构”。讲这两个东西的文章很多,这里只举个例子var arr = [1, 2, 3];function test(...args) {  console.log(args);}test(1, 2, 3);// [ 1, 2, 3 ]test(...arr);// [ 1, 2, 3 ]var [a, ...b] = arr;// a = 1, b = [2, 3]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript