Классы были добавлены в JS в выпуске ES6, и он предназначен для использования в объектно-ориентированном программировании (ООП), использование классов только со статическими методами или использование многих из них, похоже, использует функциональное программирование (FP) с синтаксисом ООП. Вы должны четко понимать в своем подходе, используете ли вы объектно-ориентированное программирование (ООП) или функциональное программирование FP. пишут ООП-код!

Классы обычно используются в ООП в качестве плана для создания экземпляров объектов в качестве основных строительных блоков для любого кода ООП, до выпуска ECMAScript 2015 (ES6) был только один вариант использования JS в ООП, который заключался в использовании объектов на основе прототипов. Согласно определению MDN, классы ES6 — это синтаксический сахар над объектами на основе прототипов. И с момента его выпуска ведутся острые споры о том, рекомендуется ли его использовать для ООП по сравнению с традиционным ООП на основе прототипа, поскольку он построен на основе прототипа, добавляя дополнительный уровень сложности.

ООП подчеркивает три концепции: абстракцию, наследование и полиморфизм; использование статических методов проповедует первую концепцию абстракции, исторически статические методы были добавлены в Java, поскольку это чистый язык, основанный на классах, поэтому статические методы предназначены для использования для функционального программирования в Java, и это далеко не так для JavaScript как JS является языком, основанным на прототипах, поэтому мы можем сказать, что JS родился как язык FP, и нет реальной причины использовать классы JS для FP.

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

Я бы посоветовал разработчикам JS четко понимать свой основной подход к использованию ООП или FP и не использовать классы для FP.