为了账号安全,请及时绑定邮箱和手机立即绑定

es6 扩展运算符疑问

es6 扩展运算符疑问

犯罪嫌疑人X 2019-03-12 17:14:57
阮一峰 :扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。其中 rest 参数的逆运算 是什么意思? 参数序列 又是什么意思? 它是什么样的数据结构 ?我想知道 扩展运算符的原理 是什么
查看完整描述

2 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

  1. 看函数部分的rest的时候你可以知道,可以使用function (...arr){}的形式,将传进来东西全部接受进arr(这么名是你定义时可随便起的)。那么扩展运算符就是逆过程,将收集起来的东西再分散展开。

  2. 参数序列是类似于arguments的东西,就是包含函数参数的一个序列- -。

  3. 底层怎么实现的我也不知道。


查看完整回答
反对 回复 2019-03-25
?
幕布斯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]


查看完整回答
反对 回复 2019-03-25
  • 2 回答
  • 0 关注
  • 571 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信