创建的类我创建了一个类按照官方的例子从MDN(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes)ES6:访问静态成员变量从密新
这里是我的代码
class A {
}
const Mixer = BaseClass => class extends BaseClass {
static val = 10;
}
class B extends Mixer(A) {
myMethod() {
// Need some way to access the static member "val"
}
}
如何访问“VAL “?
没有mixin(即B类扩展A,val是A类中的静态)我可以完成“A.val”。
在这种情况下,Mixer.val不起作用,并根据我的理解B从一个匿名类扩展,所以没有办法按名称访问超类。
编辑:我把这个问题写错了。我真正的问题是在混音器本身中访问val。在B中访问val非常简单,正如我指出的那样。
例如
const Mixer = BaseClass => class extends BaseClass {
static val = 10;
myMethod2() {
// log the val member
}
}
您无法使用ES2015类语法('SyntaxError:bad method definition')定义静态属性。 – PeterMader
我使用的是Babel,它确实为我生成了代码。这个babel具体吗? –
我想你正在使用[transform-class-properties](https://babeljs.io/docs/plugins/transform-class-properties/),它实现了[Static Properties proposal](https:// babeljs)。 io/docs/plugins/transform-class-properties /) – PeterMader