J'ai une classe avec une méthode statique:
class User {
constructor() {
User.staticMethod();
}
static staticMethod() {}
}
Existe-t-il quelque chose comme ça pour les méthodes statiques (c'est-à-dire faire référence à la classe actuelle sans instance).
this.staticMethod()
donc je n'ai pas besoin d'écrire le nom de classe 'User'.
De la documentation MDN
Les appels de méthode statique sont effectués directement sur la classe et ne sont pas appelables sur les instances de la classe. Les méthodes statiques sont souvent utilisées pour créer des fonctions utilitaires.
Pour plus d'informations, consultez => https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static
Vous pouvez faire quelque chose comme ceci => this.constructor.staticMethod());
pour appeler la méthode statique.
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.';
}
}
au lieu de ce User.staticMethod (), vous pouvez ajouter this.constructor.staticMethod ()
static
les choses se lient à la classe plutôt qu'à l'instance. Vous devez donc au moins spécifier le nom de la classe.
Si vous ne voulez pas les lier à une classe, rendez-les globaux.