私は静的メソッドを持つクラスを持っています:
class User {
constructor() {
User.staticMethod();
}
static staticMethod() {}
}
静的メソッドの場合、このようなものがあります(つまり、インスタンスなしで現在のクラスを参照します)。
this.staticMethod()
したがって、クラス名「User」を記述する必要はありません。
MDNドキュメントから
静的メソッド呼び出しは、クラスで直接行われ、クラスのインスタンスで呼び出すことはできません。静的メソッドは、ユーティリティ関数を作成するためによく使用されます。
詳細については、以下を参照してください=> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static
静的メソッドを呼び出すには、次のようなことを行います=> this.constructor.staticMethod());
.
class StaticMethodCall {
constructor() {
console.log(StaticMethodCall.staticMethod());
// 'static method has been called.'
console.log(this.constructor.staticMethod());
// 'static method has been called.'
}
static staticMethod() {
return 'static method has been called.';
}
}
このUser.staticMethod()の代わりにthis.constructor.staticMethod()を追加できます
static
のものはインスタンスではなくクラスにバインドします。したがって、少なくともクラス名を指定する必要があります。
クラスにバインドしたくない場合は、グローバルにします。