хранится в промежуточной переменной, потому что именно так оценивается выражение члена с вложенным выражением вызова.

тим, у меня есть два класса ES6, как это:

class Base {
    static something() {
        console.log(this);
    }
}

class Derived extends Base {
}

И тогда я звоню так:

Derived.something();

Обратите внимание, что я делаю вызов статического метода, определенного насупер класс через подкласс.

Это делаетне дай мне ошибки. Это печатает

[Function: Derived]

Так что доступthis внутри статического метода, похоже, работает здесь.

Мне нужен общий статический метод для всех подклассов суперкласса, и мне нужно знать, какой подкласс вызывает этот метод.

Теперь мой вопрос, является ли использованиеthis внутри статический метод является законным. Я знаю, что эти статические методы становятся методами класса, и, следовательно,this будет естественно указывать на объект класса, к которому они обращаются. (Объект класса является конструктором.)

Но я не могу найти какой-либо определенный ресурс, который утверждает, что это разрешено спецификацией ES.

Этот выглядит как хорошее введение в классы ES6, но не говорит оthis с участиемstatic.

Ответы на вопрос(3)

Ваш ответ на вопрос