我有这种情况

import assert from 'assert'

class A {
    static x = 0

    static a () {
        return A.x
    }
}

class B extends A {
    static x = 1
}

assert.equal(B.a(), 1)

我需要从Js es6的基类中检索派生类中的静态值。
但是,我找不到办法

断言将失败
AssertionError [ERR_ASSERTION]: 0 == 1

什么是正确的方法?
  • 谢谢
  • 最佳答案

    在这里,您直接要求A.x。当您在类型为this.x的对象上时,应该调用A.x来获取A,而在类型为B.x的对象上时,则需要调用B

    只需进行以下更改,它就可以正常工作:

    static a () {
        return this.x;
    }
    

    关于javascript - Javascript访问静态子属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47480452/

    10-15 14:36