JS的扩展语法是否出现在其他语言中?

时间:2018-05-04 16:27:00

标签: javascript programming-languages spread-syntax

我第一次在JavaScript中遇到了传播(...)语法,并且已经开始欣赏many things it can do,但我承认我仍然觉得它很奇怪。是否有其他语言的等价物,它在那里叫什么?

3 个答案:

答案 0 :(得分:2)

Common Lisp有&rest个参数:

(defun do-something (&rest params) 
    ...
)

答案 1 :(得分:1)

是的,在Ruby中:splat运算符。它是一个星号而不是三个点:

def foo(a, *b, **c)
   [a, b, c]
end
> foo 10
=> [10, [], {}]
> foo 10, 20, 30  
=> [10, [20, 30], {}] 
> foo 10, 20, 30, d: 40, e: 50
=> [10, [20, 30], {:d=>40, :e=>50}]
> foo 10, d: 40, e: 50
=> [10, [], {:d=>40, :e=>50}]

(从this answer复制)

答案 2 :(得分:0)

PHP也使用三个点来实现它:它是new feature of PHP version 5.6。 操作符看起来像省略号(...)字符,但不是。