javascript - CoffeeScript、原型(prototype)继承和构造函数

标签 javascript constructor coffeescript prototype

在 CoffeeScript 中,似乎在实例化子类时未调用父类(super class)构造函数。

有解决办法吗?

这是一个例子:

class A
    element = null

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

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

class B extends A
    constructor: ->
        @hide() #error!

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

谢谢!

最佳答案

我认为你需要在子类中调用super

class A
    element = null

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

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

class B extends A
    constructor: ->
        super
        @hide() #error!

关于javascript - CoffeeScript、原型(prototype)继承和构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14840807/

相关文章:

javascript - 街景 View 在加载时在街道图像上提供带有海军按钮的黑框

javascript - 选中/取消选中复选框列表中的所有项目时的奇怪行为

c++ - std 构造函数的调用是否需要限定?

C# 优化新对象的创建(太多,丑陋的代码)

C++ 对列表

javascript - 如何使用变量在 CoffeeScript 中设置 jQuery 选择器?

javascript - React 子组件中父 html 元素的引用

javascript - HTML 图像和其他组件根据页面宽度调整大小

javascript - 如何按时间禁用当前日期?

javascript - 这两个实现有什么不同