Alexandr
На js пишут объёмные ооп проекты, и js также позволяет реализовывать как абстрактные классы с интерфейсами так и прлиморфизм с наследование, другое дело что малость не так изящно как в Java пока еще
это они думают, что пишут. Потому что ООП термины к жс не применимы, тут нет синглтонов, т.к в нем first class objects
что приводит к одному единственному выводу, что это навязанная парадигма и не более. А то, что ты перечислил вообще не характеризует ООП