首先,在此问题将被保留之前,正如您在ES6课程中所知,关键字static
不适用于类属性。但是,我们可以通过get方法定义它,如下例所示。
我了解到我们可以通过调用booth类名和this
来调用类中的static属性:
class Animation{
static get SLOW (){ return 900; } // milliseconds
static get FAST (){ return 300; } // milliseconds
static getSlowSpeedValue(){
console.log(this.SLOW); // works
//console.log(Animation.SLOW); // works too
}
}
Animation.getSlowSpeedValue();
哪种方法在技术上是正确的,这是更好的做法?
顺便说一下,我还了解到我们通过上面的方式调用类中的任何静态方法:
class SomeClass{
static method1(){
SomeClass.method2(); // works
//this.method2(); // works too
}
static method2(){
console.log('OK');
}
}
SomeClass.method1();