3

我被困在试图将 splat 传递给超级构造函数。像这样的东西:

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

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

好吧,问题是:

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

4

3 回答 3

3

super vars...可能是您正在寻找的。

于 2013-03-07T21:02:16.797 回答
2

super超级神奇。

如果您只是编写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
于 2013-03-07T22:19:22.393 回答
0

你不需要做任何事情。构造函数实际上只使用了argumentsjavascript 变量。这意味着,您可以super按原样留下您的电话。

于 2013-12-31T07:50:54.737 回答