Beide der hier Antworten sind richtig und gut, aber ich wollte ein zusätzliches Detail basierend auf diesem Fragetitel hinzufügen.
Als ich "ES6 - Call statische Methode innerhalb einer Klasse" sah es klang wie "rufen Sie eine statische Methode (von einer nicht-statischen Methode) innerhalb einer Klasse". Def nicht, was der ursprüngliche Fragesteller in den Details fragt.
Aber für jeden, der wissen will, wie man es so tun kann, innerhalb einer Klasse von einer nicht-statische Methode eine statische Methode nennen:
ist
class MyClass {
myNonStaticMethod() {
console.log("I'm not static.")
MyClass.myStaticMethod()
}
static myStaticMethod() {
console.log("hey, I'm static!")
}
}
MyClass.myStaticMethod() // will log "hey, I'm static!"
const me = new MyClass()
me.myNonStaticMethod() // will log "I'm not static" and then "hey, I'm static!"
Die Idee, dass die statische Methode sein kann, ist, aufgerufen, ohne eine neue Instanz der Klasse zu erstellen. Das heißt, Sie können es innerhalb der Methode einer Instanz genauso aufrufen, wie Sie es außerhalb der Instanz nennen würden.
Noch einmal, ich weiß, dass das nicht das ist, was das Detail der Frage verlangt, aber das könnte anderen Menschen hilfreich sein.
Ich habe eine komplexere Antwort in einem separaten Thread zu diesem Thema geschrieben: http://Stackoverflow.com/a/43694337/3182819 – cepharum