我在看一个开源的 javascript 应用程序,特别是 firefox 的扩展。
我在多个地方看到这种语法,如果有人能对此有所了解,我不知道这意味着什么。
如..
return (...args)
Run Code Online (Sandbox Code Playgroud)
或者...
console.info(message, ...args.slice(1));
Run Code Online (Sandbox Code Playgroud)
知道这个“...”是做什么的吗?是像输入第三个参数还是什么?第三次反驳?在无法理解它的情况下很难尝试和调试它。
小智 7
它将一个数组(args)解包到一个正式的参数列表中。除其他外,这允许将其余参数的成员作为一组正式参数传递给另一个函数。
下面是一个例子:
var stats = function(...numbers) {
for (var i=0, total = 0, len=numbers.length; i<len; i++) {
total += numbers[i];
}
return {
average: total / arguments.length,
max: Math.max(numbers); //spread array into formal params
}
}
stats(5, 6, 8, 5); //{average: 6, max: 8}
Run Code Online (Sandbox Code Playgroud)
希望这能帮助您理解“...”!
这是一个 Ecmascript 6“休息”参数。当用作参数或参数时,它允许您接收或传递数组作为单独的参数。
http://ariya.ofilabs.com/2013/03/es6-and-rest-parameter.html
| 归档时间: |
|
| 查看次数: |
3141 次 |
| 最近记录: |