为什么下面这个例子没有输出“hello world”?相反,我得到了:
TypeError:_base2.default.test不是函数
(正在与Babel一起编辑)
file1.js
import Example from './file2';
console.log(Example.test());
file2.js
export default class Example {
test() {
console.log('hello world');
}
}
答案 0 :(得分:9)
您只是导入了类,但没有创建类的实例
尝试
var myInstance = new Example()
myInstance.test()
答案 1 :(得分:4)
如果要将方法作为类方法调用(不创建对象实例),可以尝试静态方法。
您可以将 file2.js 更改为
export default class Example {
static test() {
console.log('hello world');
}
}
然后使用 file1.js 中的类名作为
来调用它import Example from './file2';
console.log(Example.test());
如果您想将其称为实例方法,请参阅James Maa answer。