Лишние проверки тоже не помешают, чтобы быть уверенным, что инициализация произошла. А так ниже уже написали, что нужно сразу же присвоить любой значение, соответствующего типа. Ну или все таки объявлять там же где происходит инициализация.
я знаю про innerHTML, но все внутренности, а их немало, задаются динамически поэтому этот метод не подходит.
вот я и хочу понять как запустить смену "реальной", но чтобы менять отдельные блоки или компоненты, не перезагружать всю страницу