Введение в JavaScript
JavaScript также сокращается, поскольку JS является интерпретируемым языком программирования высокого уровня. JavaScript - одна из трех основных технологий всемирной паутины. JavaScript позволяет создавать интерактивные веб-страницы, отличные от статических веб-страниц. Большинство веб-сайтов используют JS для разработки, и основные веб-браузеры имеют механизм JavaScript для его выполнения. JavaScript - это легкий, слабо типизированный интерпретируемый язык программирования на основе прототипов с объектно-ориентированными возможностями. JavaScript используется для разработки веб-приложений на стороне клиента, он включается в HTML-файл или на него ссылается, чтобы код отображался в браузере. В настоящее время JavaScript используется не только для разработки на стороне клиента, но и для программирования на стороне сервера. Существуют различные доступные фреймворки, которые создаются с использованием JavaScript, например Node.js. В Node.js есть много модулей для разработки микросервисов, API, соединений с базами данных и многих других. Клиентский механизм JavaScript обеспечивает много преимуществ по сравнению с традиционными CGI-скриптами. JavaScript может использоваться для действий, основанных на событиях, инициированных пользователем, таких как нажатие кнопок, навигация, всплывающие сообщения и т. Д., А также для проверки на стороне клиента. например, вы можете проверить поля, такие как адрес электронной почты, пароль и т. д., в форме перед отправкой на веб-сервер.
Является ли JavaScript объектно-ориентированным языком?
Вопрос о том, является ли JavaScript чисто объектно-ориентированным языком или нет, всегда спорен. Итак, теперь мы собираемся прояснить, что это объектно-ориентированный Javascript, потому что некоторые говорят, что он не является объектно-ориентированным, потому что он не имеет классов и не может реализовывать такие концепции ООП, как наследование или инкапсуляция, а некоторые говорят, что это объектно-ориентированный язык. Прежде чем обсуждать эту объектно-ориентированную тему JavaScript, следует понять, что делает язык программирования объектно-ориентированным языком программирования?
Есть несколько важных характеристик объектно-ориентированных языков:
-
Полиморфизм:
Способность объекта принимать различные формы. Например, функция может быть перегружена с тем же именем, но разными параметрами.
-
Инкапсуляция:
Связывание всех данных и операций вместе и сохранение их в классе.
-
Наследование:
Дочерний класс может быть получен из родительского класса со всеми функциями родительского класса и некоторыми его собственными свойствами.
Эти три вышеупомянутых принципа составляют основу объектно-ориентированного языка.
Таким образом, JavaScript может не следовать точной парадигме объектно-ориентированных принципов, но JavaScript имеет различные способы реализации ООП. Мы можем продемонстрировать, как JavaScript следует за объектно-ориентированными принципами, используя несколько примеров:
Инкапсуляция:
Идея инкапсуляции заключается в том, что к данным объекта не следует обращаться напрямую, вместо этого к ним следует обращаться с помощью некоторых методов. Но в JavaScript нет понятия класса и объектов, которые реализуют инкапсуляцию двумя способами, а именно Function Scope и Closure
1) Область действия функции:
Это не что иное, как объявление переменных внутри функций. Таким образом, область действия переменных будет ограничена только функциями, а другие объекты не смогут получить доступ к переменным. Давайте рассмотрим пример, чтобы продемонстрировать область действия функции.
функциональный тест ()
(
var value = «Привет!»;
alert (value) // «Привет!»;
)
alert (value) // ошибка; значение недоступно за пределами функции.
2) Затворы:
Закрытие является внутренней областью, которая имеет доступ к переменным, объявленным вне его блока, даже после того, как эти переменные выпали из области видимости. Хотя методы объекта не могут получить доступ к другим локальным переменным, внутренний объект имеет доступ к переменным своей родительской функции. Давайте рассмотрим пример, чтобы понять это.
var person = (
var name = “JavaScript”;
return (
setName : function(value)(
name = value;
),
getName : function()(
return name;
)
);
);
alert(person.name) //JavaScript
person.setName(“Java”)
alert(person.name) //Java
Таким образом, таким образом, мы можем объявить внутренние объекты или методы, чтобы скрыть данные, и к ним можно получить доступ, используя родительские объекты.
Наследование:
JavaScript поддерживает наследование через концепцию, называемую прототипным наследованием, позволяет объекту JavaScript получать все или некоторые функции от других объектов или родительских объектов.
1) Прототип:
JavaScript описывается как язык на основе прототипов, чтобы обеспечить объект наследования может иметь объект-прототип, который наследует методы и свойства от других объектов. Объект-прототип объекта может также иметь объект-прототип, который наследует методы и свойства от своего родительского объекта и так далее, это называется цепочкой прототипов.
Изображение выше показывает все свойства объекта «животное», который создается. Таким образом, «name» и «type» - это свойства объекта «animal», а такие свойства, как valueOf, toString, toLocaleString и т. Д., Являются свойствами родительского объекта, которые наследуются объекту животного. Обратитесь к изображению ниже, которое показывает свойства родительского объекта с использованием свойства proto.
Полиморфизм:
Поли означает «много», морфизм означает «формы», полиморфизм - это не что иное, как разные формы. В JavaScript полиморфизм достигается за счет универсальных, перегрузочных, структурных подтипов.
1) Обобщения (параметрический полиморфизм):
Это говорит о том, что тип переменной вообще не имеет значения, они взаимозаменяемы. Функция, которая определяет один или несколько параметров параметрического полиморфного типа, не должна ничего знать о типах, она должна обращаться со всеми ними как с одинаковыми, поскольку она может адаптироваться к любому из типов. Смотрите пример ниже
const data = x => y => y.concat (x);
Данные (3) ((1, 2)); // (1, 2, 3)
данные («с») ((«а», «б»)); // («a», «b», «c»)
2) Перегрузка (специальный полиморфизм):
Перегрузка в JavaScript достигается с помощью произвольного полиморфизма. Специальный полиморфизм - это разновидность полиморфизма, в которой полиморфные функции могут применяться к аргументам нескольких типов, поскольку полиморфные функции могут обозначать количество различных гетерогенных реализаций в зависимости от типов аргументов. Смотрите нижеприведенный пример
Оператор «+» используется для нескольких способов, таких как добавление чисел, объединение строк и т. Д.
1 + 2 = 3
1, 2 + 2, 3 = 3, 5
«Java» + «Скрипт» = «JavaScript»
3) Структурный подтип (Структурный полиморфизм):
Структурный полиморфизм говорит, что разные типы эквивалентны, например, если один тип имеет все свойства другого типа наряду с некоторыми дополнительными свойствами (следуя той же структуре)
Const weight = (значение: 100, данные: правда)
Const speed = (значение: 200, данные: ложь, foo: (1, 2, 3))
Скорость считается подтипом веса.
Вывод - ориентирован ли объект Javascript?
Как мы уже говорили, это объектно-ориентированный Javascript, поэтому теперь мы можем сделать вывод, что JavaScript - это объектно-ориентированный язык. Хотя у него нет реальных классов, он все же является объектно-ориентированным языком, потому что он следует основным концепциям объектно-ориентированных принципов. Таким образом, язык может быть объектно-ориентированным, если он поддерживает объекты даже без классов.
Рекомендуемые статьи
Это было руководство по объектно-ориентированному Javascript. Здесь мы обсудили основные понятия и характеристики Javascript и объектно-ориентированных. Вы также можете посмотреть на следующие статьи:
- JavaScript против VBScript
- Использование JavaScript
- JavaScript против AngularJS
- JavaScript против Node JS
- Комплексное руководство по объектам в Java
- Объект в Python
- Примеры и как работают дженерики в C #