【问题标题】:What does '...' mean in Javascript? [duplicate]'...' 在 Javascript 中是什么意思? [复制]
【发布时间】:2017-06-11 16:58:01
【问题描述】:

我正在查看 codewars kata 中的一些替代解决方案,并在“顶级”解决方案中遇到了这一行:

result.push(...algo(numbers[i]));

在这种情况下,“...”的目的是什么?我以前没见过这个,在任何地方都找不到任何参考。

这是 ES6 的新特性吗?

如果您需要更多上下文,那就是“以不同方式将所有偶数拆分为奇数”kata,并且是用户“ph0en1x”的解决方案。

不想在此处发布整个代码,以免破坏任何其他潜在用户的挑战。

如果有人能够帮助澄清,谢谢!

【问题讨论】:

标签: javascript


【解决方案1】:

这是一个 ES6 特性,称为spread 运算符。

意思是你有一个像[1,2,3] 这样的数组对象并且有一个接受3 个参数的函数,你不需要像func(arr[0], arr[1], arr[2]) 这样传递。你可以只传播func(...arr) 数组,它会代替你做同样的事情。

var arr = [1,2,3];

function func(a,b,c){
  console.log(a); // arr[0]
  console.log(b); // arr[1]
  console.log(c); // arr[2]
}

func(...arr);

【讨论】:

  • 你也应该把其他的意思当作 rest 语法。
  • 剩下的就另当别论了,不是吗?它是函数声明,而不是调用
  • 它使用相同的点。
  • 我知道其余的运算符。它是函数声明,而不是调用。 spread运营商与通话相关
  • 感谢您的帮助,我还在学习 es5 JavaScript。我需要开始更加了解 es6 及更高版本!
猜你喜欢
  • 2015-07-15
  • 2018-07-17
  • 2011-04-16
  • 2014-07-28
  • 2015-04-17
  • 2018-02-26
  • 2017-01-31
  • 2011-04-13
  • 2013-06-28
相关资源
最近更新 更多