以下の例で「hello world」が出力されないのはなぜですか?代わりに、私は得ています:
TypeError:_base2.default.testは関数ではありません
(それはバベルで蒸散されている)
file1.js
import Example from './file2';
console.log(Example.test());
file2.js
export default class Example {
test() {
console.log('hello world');
}
}
クラスをインポートするだけで、クラスのインスタンスを作成しない
試す
var myInstance = new Example()
myInstance.test()
(オブジェクトインスタンスを作成せずに)メソッドをクラスメソッドとして呼び出す場合は、静的メソッドを試すことができます。
file2.jsを次のように変更できます。
export default class Example {
static test() {
console.log('hello world');
}
}
次に、file1.jsのクラス名を使用して、次のように呼び出します。
import Example from './file2';
console.log(Example.test());
インスタンスメソッドとして呼び出す場合は、 James Maa の回答を参照してください。