阮一峰 :扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。其中 rest 参数的逆运算 是什么意思? 参数序列 又是什么意思? 它是什么样的数据结构 ?我想知道 扩展运算符的原理 是什么
2 回答
慕哥9229398
TA贡献1877条经验 获得超6个赞
看函数部分的rest的时候你可以知道,可以使用
function (...arr){}
的形式,将传进来东西全部接受进arr(这么名是你定义时可随便起的)。那么扩展运算符就是逆过程,将收集起来的东西再分散展开。参数序列是类似于arguments的东西,就是包含函数参数的一个序列- -。
底层怎么实现的我也不知道。
幕布斯7119047
TA贡献1794条经验 获得超8个赞
没什么原理,只是语法糖而已。前者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]
添加回答
举报
0/150
提交
取消