Допустим, у меня есть класс, который выглядит следующим образом
class Foo {
bar() {
console.log('bar');
}
baz() {
console.log('baz');
}
// other methods...
}
, и я хочу, чтобы все его методы безоговорочно вызывались при создании нового экземпляра. Как бы я go об этом?
В настоящее время я делаю это, вызывая каждый метод в классе constructor
method
class Foo {
constructor() {
this.bar();
this.baz();
// other methods
}
bar() {
console.log('bar');
}
baz() {
console.log('baz');
}
// other methods...
}
Вот фрагмент этого
class Foo {
constructor() {
this.bar();
this.baz();
// other methods
}
bar() {
console.log('bar');
}
baz() {
console.log('baz');
}
// other methods...
}
new Foo();
Есть ли лучший способ сделать это?
Этот кажется наиболее близким к тому, чего я хочу достичь. Он работает, отказываясь от методов класса и вместо этого используя IIFEs в classProperties
.
Вот как то так
class Foo {
bar = (() => {
console.log('bar');
})()
baz = (() => {
console.log('baz');
})()
}
new Foo();
и он хорошо работает на Chrome, но большинство других браузеров пока не поддерживают для classProperties
, так как они были добавлены в ES9
Мой вопрос:
Если у меня есть класс с несколькими методами, могу ли я вызывать их все, когда создается новый экземпляр этого класса, не вызывая каждый индивидуальный метод в constructor
методе этого класса?
В контексте этого вопроса вы можете полностью игнорировать необходимость передачи параметров в методы. Мне не нужно передавать какие-либо параметры в любой из методов класса.