我有这种情况
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/