CoffeeScript:使用(splat ...)参数覆盖方法

时间:2013-03-07 20:51:44

标签: coffeescript

我一直试图将splat传递给超级构造函数。像这样:

class Mom
    constructor: (vars...) ->
        [code]

class Son extends Mom
    constructor: (vars...) ->
        super(???)
        [code]

嗯,问题是:

如何调用超级构造函数传递儿子收到的splat参数?

3 个答案:

答案 0 :(得分:3)

super vars...可能就是你要找的东西。

答案 1 :(得分:2)

super超级神奇。

如果你just write super它将编译为调用超级构造函数转发所有参数,这正是你想要的情况:)

class Mom
  constructor: (vars...) ->
    console.log "constructing Mom with #{vars}"

class Son extends Mom
  constructor: (vars...) ->
    super

new Son 'a', 'b', 'c' 
# Output: constructing Mom with a,b,c

答案 2 :(得分:0)

你不需要做任何事情。构造函数实际上只使用arguments javascript变量。这意味着,您可以按原样拨打super