Как можно вызвать метод **init** сразу после создания объекта TypeScript, чтобы избежать добавления вызова в конструктор и не объявляя метод **public**?
Наиболее эффективным и рекомендуемым способом инициализации объекта в TypeScript является использование конструктора класса для установки начальных значений его свойств. Чтобы вызвать метод init сразу после создания объекта без добавления его вызова в конструктор и без объявления метода как public, можно использовать следующий подход: ```typescript class MyClass { private property: string; constructor() { this.init(); } private init() { this.property = "initial value"; } } const myObject = new MyClass(); ``` В этом примере метод init вызывается внутри конструктора класса MyClass, таким образом он будет выполнен сразу после создания объекта. При этом метод init остается приватным и не доступным извне класса.
типа, антипаттерн...
но это все равно вызов метода в конструкторе, что не приветствуется.
Бред. Вот кем не приветствуется - вот он пускай и не приветствует и тихо миро плавает в своем болотце. Спокойно вызывайте приватный инициализатор в конструкторе - это как раз нормально. Конструктор - это и есть инициализатор объекта. Он даже называется "конструктор" - сборщик объекта. Его для этого и придумали. Выносить часть инициализации из инициализатора - на самом неделе не самая умная идея. А вот разбить инициализацию на разные логические части и разнести в разные методы - как раз таки очень даже хорошая практика. Декомпозиция, небольшие и простые функции/процедуры и все такое прочее.