Ecmascript 6 为什么Jest(用于单元测试的JavaScript框架)不能使用“this”?
使用带有ES2015预设的BabelJS编译。使用Ecmascript 6 为什么Jest(用于单元测试的JavaScript框架)不能使用“this”?,ecmascript-6,babeljs,jestjs,Ecmascript 6,Babeljs,Jestjs,使用带有ES2015预设的BabelJS编译。使用节点编译后的代码运行良好。但是在单元测试中,这个是未定义的。为什么会发生这种情况?不知为什么 class Test { static Test1 () { console.log(this); this.Test2(); } static Test2 () { console.log('qwe'); } } Test.Test1(); export default Test; export const Test1 = Test.Te
节点
编译后的代码运行良好。但是在单元测试中,这个是未定义的。为什么会发生这种情况?不知为什么
class Test {
static Test1 () { console.log(this); this.Test2(); }
static Test2 () { console.log('qwe'); }
}
Test.Test1();
export default Test;
export const Test1 = Test.Test1;
这不管用
class Test {
static Test1 () { console.log(this); this.Test2(); }
static Test2 () { console.log('qwe'); }
}
Test.Test1();
export default Test;
export const Test1 = Test.Test1;
这是工作
由于某种原因,罪魁祸首是导出常量Test1=Test.Test1代码>我在这里测试过,它似乎可以工作,看起来可能是jest Transbile的代码有问题您的示例没有类,这个
?共享功能似乎不起作用。如果你用你的代码替换代码,它就会工作
class Test {
static Test1 () { console.log(this); this.Test2(); }
static Test2 () { console.log('qwe'); }
}
Test.Test1();
export default Test;