Я знаю, что обычно невозможно вызвать метод экземпляра из метода 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, и это действительно безопасно? В противном случае мне интересно, почему этого не следует делать.