Aje*_*i32 10 javascript ruby ecmascript-5 ecmascript-harmony
在Ruby中,您可以使用splat(*)运算符捕获函数的可变数量的参数,或者将数组的内容作为参数发送到函数,如下所示:
def example(arg1, *more_args)
puts "Argument 1: #{arg1.inspect}"
puts "Other arguments: #{more_args.inspect}"
end
test_args = [1, 2, 3]
example(*test_args)
Run Code Online (Sandbox Code Playgroud)
输出:
Argument 1: 1
Other arguments: [2, 3]
Run Code Online (Sandbox Code Playgroud)
JavaScript中的相同之处是什么?
Aje*_*i32 16
在较旧版本的JavaScript(ECMAScript 5)中,并不存在与此完全等效的内容.在支持ECMAscript 6的现代浏览器中,有一些非常类似的东西由三个句点(...)表示.
当在函数调用和数组声明中使用时,这种三点语法称为扩展运算符.在函数定义中使用时,它被称为rest参数.
例:
function example(arg1, ...more_args) { // Rest parameters
console.log("Argument 1: ", arg1)
console.log("Other arguments: ", more_args)
}
test_args = [1, 2, 3]
example(...test_args) // Spread operator
Run Code Online (Sandbox Code Playgroud)
输出:
Argument 1: 1
Other arguments: [2, 3]
Run Code Online (Sandbox Code Playgroud)
扩展运算符和rest参数可在所有主流浏览器的最新版本(Internet Explorer除外)和最新的Node.js LTS版本中使用.
| 归档时间: |
|
| 查看次数: |
3991 次 |
| 最近记录: |