我正在尝试从对该方法的引用中调用类的静态方法,但是当我这样做时,“ this”变量是未定义的:
class SomeClass {
static test() {
console.log(this);
}
}
SomeClass.test(); // logs reference to class as desired
let fn = SomeClass.test;
fn(); // logs undefined
let fn2 = () => { SomeClass.test(); }
fn2(); // logs reference to class as desired
为什么在fn()调用中未定义“ this”?有没有办法确保其定义?将方法包装在fn2()之类的匿名函数中可以解决此问题,但是有点难看。 fn1的这种行为是否使Java设计无法对此进行定义?