Javascript访问静态子属性

时间:2017-11-24 21:54:11

标签: javascript ecmascript-6

我有这种情况

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

正确的方法是什么?

  • 感谢

1 个答案:

答案 0 :(得分:1)

在这里,您直接要求A.x。当您使用善意this.x对象时,应致电A.x以获取A,当您使用实物B.x时,请致B

只需进行以下更改即可正常使用:

static a () {
    return this.x;
}