Является ли JavaScript истинным языком ООП?
В объектно-ориентированном программировании есть три основные особенности: инкапсуляция, наследование и полиморфизм.
Инкапсуляция: инкапсуляция относится к созданию автономных модулей, которые связывают функции обработки с данными. Эти определяемые пользователем типы данных называются «классами», а один экземпляр класса является «объектом».
Наследование: это механизм, с помощью которого объект приобретает некоторые или все функции из одного или нескольких других объектов.
Полиморфизм. Объектно-ориентированное программирование позволяет создавать процедуры создания объектов, чей точный тип неизвестен до выполнения.
Выполнение этих требований - это то, что обычно позволяет классифицировать язык как объектно-ориентированный.
Объектно ориентирован JavaScript?
JavaScript - это язык программирования на основе прототипов. Язык программирования на основе прототипа - это стиль объектно-ориентированного программирования, который использует функции как конструкторы для классов. Хотя JavaScript имеет класс ключевых слов, он не имеет инструкции класса. Кроме того, он использует клонирование, а не наследование.
JavaScript сильно основан на объектах и является отличным языком для написания объектно-ориентированных веб-приложений. JavaScript дает вам возможность создавать собственные объекты для ваших собственных приложений. Что касается инкапсуляции, объекты JavaScript - это сущности, поддерживающие данные и функции, но у них нет расширенной встроенной поддержки для скрытия внутренних деталей. С вашими объектами вы можете закодировать события, которые срабатывают, когда вы хотите, и код инкапсулирован. Его можно инициализировать в любое количество раз. Объекты JavaScript не заботятся о конфиденциальности. Все свойства и методы являются общедоступными, если не принимать никаких мер предосторожности. Кроме того, в JavaScript мы можем реализовать различные типы полиморфизма несколькими способами, и, возможно, мы сделали это много раз неосознанно.
В то время как объектно-ориентированные языки программирования стимулируют развитие внимания к таксономии и отношениям, языки программирования на основе прототипов поощряют сначала сосредоточиться на поведении, а затем классифицировать позже.