Ох ты ж, как вежливо (честно). Редко тут такое встретишь, поэтому отвечу. Надеюсь, мой ответ не удалят до того, как вы его прочитаете.Во-первых, это я задал вам встречный вопрос, но спорили вы не со мной: я - другой аноним.
Во-вторых, я так понял, своим вопросом вы хотели показать оппоненту, что он ничего не понимающий гуманитарий (и должен бы выбрать вариант с картиной), а вы технарь на белом коне и со шпагой. Не люблю, когда слово "гуманитарий" используют в качестве ругательства, поэтому, заметив у вас опечатку ("что бы" в вашем вопросе должно писаться раздельно), хотел вас пристыдить в ответ, продемонстрировав собственное наблюдение, что технари (по крайней мере, те, кто себя такими считает), как правило, весьма безграмотны, и касается это как русского языка, так и технической составляющей их работы (среди наблюдаемых мной современных IT-"технарей" очень мало настоящих "инженеров"). Теперь прощу прощения, честно не ожидал настолько вежливой реакции с вашей стороны.
Ну и в-третьих, по сути. Для себя в качестве определения "ООП" я выбрал изначальное, АланКеевское, - "ООП система - это множество объектов, взаимодействующих посредством исключительно передачи друг другу сообщений". Всё, что можно в это вместить, я отношу к ООП. При таком раскладе, в ООП-стиле можно писать и на JS, и на C, и на Pascal. Осовремененные толкования ООП, которые часто касаются реализаций в конкретных языках, я не признаю. ООП без protected для меня всё равно ООП (я, кстати, отношусь к категории оюдей, о которой писал Страуструп: я считаю наследование всего лишь "деталью реализации", а не одним из столпов ООП, хотя и применяю его при возможности и необходимости). ООП как в C++, когда все закрытые атрибуты нужно перечислять в заголовочном (считай интерфейсном) файле и светить ими всему миру, - тоже ООП, хотя и не самое лучшее.
И, в-четвёртых, JS-код действительно ужасен. Но связано это не с ООП-шностью, а с изначальной ориентацией языка: небольшие скрипты для манипулирования DOM-деревом и написания обработчиков-однострочников для обработки DOM-событий. Теперь на нём пишут крупные системы, хотя сам язык для них не подходит. Однако браузеры больше ничего выполнять не умеют, а модифицировать сам язык сложно из-за необхдоимости сохранения совместимости с существующим кодом.