Я не думаю, что с этим что-то не так. У меня на работе много классов JS в кодовой базе, использующей этот шаблон. Даже если вы по существу используете класс как одноэлементный, структурирование его таким образом позволяет вам с легкостью создавать больше экземпляров в будущем, если вам когда-либо понадобится.
В моих собственных проектах я не склонен создавать экземпляры классов JS из файла, который их определяет. У меня есть отдельный скрипт, который будет создавать экземпляры любых классов, необходимых на странице, и работать с ними соответственно. Этот подход, вероятно, более модульный, но если вы когда-либо используете только один экземпляр, это в основном вопрос предпочтений.
Если вы уверены, что никогда не собираетесь использовать более одного экземпляра класса, вы можете упростить задачу, создав одноэлементный объект с буквенной нотацией объекта.