Допустим, у меня есть два класса ES6, как это:
class Base {
static something() {
console.log(this);
}
}
class Derived extends Base {
}
И затем я делаю вызов, как это:
Derived.something();
Обратите внимание, что я звоню на статическийметод, определенный в суперклассе через подкласс.
Это не дает мне ошибки.Он печатает
[Function: Derived]
Так что доступ к this
в статическом методе, кажется, работает здесь.
Мне нужен общий статический метод для всех подклассов суперкласса, и мне нужноуметь знать, какой подкласс вызывает этот метод.
Теперь мой вопрос: допустимо ли использование this
в статическом методе.Я знаю, что эти статические методы становятся методами класса, и, следовательно, this
будет естественно указывать на объект класса, к которому они обращаются.(Объект класса является конструктором.)
Но я не могу найти какой-либо определенный ресурс, который утверждает, что это разрешено спецификацией ES.
This выглядит как хорошее введение в классы ES6, но не говорит о this
с static
.