CoffeeScript,原型继承和构造函数

tau*_*tau 3 javascript constructor prototype coffeescript

在CoffeeScript中,似乎在实例化子类时不会调用超类构造函数.

有没有解决的办法?

这是一个例子:

class A
    element = null

    constructor: ->
        element = document.createElement "div"

    hide: =>
        element.style.display = "none"

class B extends A
    constructor: ->
        @hide() #error!
Run Code Online (Sandbox Code Playgroud)

我希望A首先调用B构造函数,然后是构造函数.如果B然后调用该hide方法,它应该隐藏在A构造函数中创建的元素,而不是说它element为null.

谢谢!

rob*_*kuz 5

我想你需要在Subclass中调用super

class A
    element = null

    constructor: ->
        element = document.createElement "div"

    hide: =>
        element.style.display = "none"

class B extends A
    constructor: ->
        super
        @hide() #error!
Run Code Online (Sandbox Code Playgroud)