javascript вызов метода экземпляра из stati c метод с использованием прототипа - PullRequest
0 голосов
/ 06 мая 2020

Я знаю, что обычно невозможно вызвать метод экземпляра из метода stati c.

Но, если я использую объект-прототип, то могу сделать это в javascript.

class Foo {
  static helloStatic() {
    this.prototype.helloInstance();
  }

  helloInstance() {
    console.log('hello');
  }
}

Foo.helloStatic(); // 'hello'

Я думаю, что приведенные выше коды будут работать аналогично приведенным ниже.

var Foo = function() {};

Foo.prototype.helloInstance = function() {
  console.log('hello');
};

Foo.helloStatic = function() {
  this.prototype.helloInstance();
};

Foo.helloStatic(); // 'hello'

Я думаю, что метод helloInstance загружается в память всякий раз, когда вызывается функция helloStati c. Так что я думаю, что этот способ может привести к непредсказуемой работе. (как чистая функция), то могу ли я вызвать метод экземпляра из функции stati c, и это действительно безопасно? В противном случае мне интересно, почему этого не следует делать.

...