Орієнтований на Javascript - Характеристика об'єктно-орієнтованих

Зміст:

Anonim

Вступ до JavaScript

JavaScript також скорочує, оскільки JS - інтерпретована мова програмування високого рівня. JavaScript - одна з трьох основних технологій всесвітньої павутини. JavaScript дозволяє створювати інтерактивні веб-сторінки, окрім статичних веб-сторінок. Більшість веб-сайтів використовують JS для розробки, а основні веб-браузери мають двигун JavaScript для його виконання. JavaScript - це легка, слабо набрана, інтерпретована на основі прототипу інтерпретована мова програмування з об'єктно-орієнтованими можливостями. JavaScript використовується для розробки веб-додатків на стороні клієнта, він включається до HTML-файлу або посилається на нього, щоб код відображався у браузері. В даний час JavaScript використовується не тільки для розробки клієнтської програми, але і для програмування на стороні сервера. Існують різні рамки, побудовані за допомогою JavaScript, як Node.js. Node.js має багато модулів для розробки мікросервісів, API, підключень до бази даних багато іншого. Механізм клієнтського боку JavaScript надає багато переваг перед традиційними сценаріями CGI. JavaScript може використовуватися для дії на основі ініційованих користувачем подій, таких як натискання кнопок, навігації, спливаючих повідомлень тощо, а також він використовується для перевірки на стороні клієнта. наприклад, ви можете перевірити поля, такі як електронна пошта, пароль тощо, у формі, перш ніж надсилати її веб-серверу.

Чи об'єктно-орієнтована мова JavaScript?

Тема того, чи JavaScript є чистою об'єктно-орієнтованою мовою, чи ні, завжди дискутується. Отже, зараз ми зрозуміємо, що це об'єкт Javascript, оскільки деякі кажуть, що він не є об'єктно-орієнтованим, оскільки не має класів і не може реалізувати такі концепції OOP, як успадкування чи інкапсуляція, а деякі кажуть, що це об'єктно-орієнтована мова. Перш ніж обговорювати цю тему JavaScript, орієнтовану на об'єкти, слід зрозуміти, що робить мову програмування об'єктно-орієнтованою мовою програмування?

Є кілька важливих характеристик об'єктно-орієнтованих мов:

  • Поліморфізм:

Здатність об’єкта приймати багато форм. Наприклад, функція може бути перевантажена тим самим ім'ям, але різними параметрами.

  • Інкапсуляція:

Зв’язування всіх даних та операцій разом та збереження їх у класі.

  • Спадщина:

Дочірній клас можна отримати від батьківського класу з усіма ознаками батьківського класу та деякими власними властивостями.

Ці вищезазначені три принципи складають основу об'єктно-орієнтованої мови.

Так, JavaScript може не дотримуватися точної парадигми Об'єктно-орієнтованих принципів, але JavaScript має різні способи реалізації OOP.може продемонструвати, як JavaScript слідує Об'єктно-орієнтованим принципам, взявши кілька прикладів:

Інкапсуляція:

Ідея інкапсуляції полягає в тому, що до даних об’єкта не слід звертатися безпосередньо, а натомість до нього слід отримати доступ деякими методами. Але в JavaScript не існує поняття класу та об'єктів, він реалізує інкапсуляцію двома способами, що є Функція Сфера та Закриття

1) Область функцій:

Це не що інше, як оголошення змінних усередині функцій. Отже, область застосування змінних буде обмежена лише функціями, а інші об'єкти не можуть отримати доступ до змінних. Візьмемо приклад, щоб продемонструвати область функцій.

функціональний тест ()
(
var 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 підтримує успадкування за допомогою концепції під назвою Prototypal наслідування дозволяє об’єкту JavaScript набувати всі або деякі функції від інших об'єктів або батьківських об'єктів.

1) Прототип:

JavaScript описаний як мова, заснована на прототипі, для надання об'єкту успадкування може бути об'єкт-прототип, який успадковує методи та властивості від інших об'єктів. Об'єкт-прототип об'єктів може також мати об'єкт-прототип, який успадковує методи та властивості від свого батьківського об'єкта тощо. Це називається ланцюгом прототипу.

На зображенні вище показані всі властивості об'єкта "тварина", який створюється. Отже, "ім'я" та "тип" - це властивості об'єкта "тварина", а такі властивості, як valueOf, toString, toLocaleString тощо, є властивостями батьківського об'єкта, який успадковується тваринного об'єкта. Перегляньте зображення нижче, яке показує властивості батьківського об'єкта за допомогою прототипу властивості.

Поліморфізм:

Полі означає «багато», морфізм означає «форми», поліморфізм - це не що інше, як різні форми. У JavaScript поліморфізм досягається загальним, перевантаженим, структурним підтипом.

1) дженерики (параметричний поліморфізм):

Це говорить про те, що тип змінної зовсім не має значення, вони взаємозамінні. Функція, яка визначає один або декілька параметрів параметричного поліморфного типу, не повинна нічого знати про типи, вона повинна трактувати всі вони як однакові, оскільки може адаптуватися до будь-якого типу. Перегляньте приклад нижче

дані const = x => y => y.concat (x);

дані (3) ((1, 2)); // (1, 2, 3)

дані ("c") (("a", "b")); // ("a", "b", "c")

2) Перевантаження (спеціальний поліморфізм):

Перевантаження в JavaScript досягається за допомогою спеціального поліморфізму. Спеціальний поліморфізм - це різновид поліморфізму, при якому поліморфні функції можуть бути застосовані до аргументів декількох типів, оскільки поліморфні функції можуть позначати кількість різних неоднорідних реалізацій залежно від типів аргументів. Зверніться до наведеного нижче прикладу

Оператор "+" використовується для декількох способів, наприклад, додавання чисел, об'єднання рядків тощо.

1 + 2 = 3

1, 2 + 2, 3 = 3, 5

"Java" + "Script" = "JavaScript"

3) Структурне підтипування (Структурний поліморфізм):

Структурний поліморфізм говорить про те, що різні типи є рівнозначними, наприклад, якщо один тип має всі властивості іншого типу разом з деякими додатковими властивостями (дотримуючись тієї ж структури)

Вага витрат = (значення: 100, дані: вірно)

Const speed = (значення: 200, дані: false, foo: (1, 2, 3))

Швидкість вважається підтипом ваги.

Висновок - чи орієнтований об’єкт Javascript?

Як ми обговорювали на тему: "Об'єктно-орієнтований Javascript", тепер ми можемо зробити висновок, що JavaScript - це об'єктно-орієнтована мова. Хоча у нього немає реальних класів, він все ще є об'єктно-орієнтованою мовою, оскільки він відповідає основним концепціям об'єктно-орієнтованих принципів. Отже, мова може бути об'єктно-орієнтована, якщо вона підтримує об'єкти навіть без класів.

Рекомендовані статті

Це керівництво по орієнтації на об'єкт Javascript. Тут ми обговорили основні поняття та характеристики Javascript та об'єктно-орієнтованих. Ви також можете переглянути наступні статті:

  1. JavaScript проти VBScript
  2. Використання JavaScript
  3. JavaScript проти AngularJS
  4. JavaScript проти Node JS
  5. Вичерпний посібник по об’єкту на Java
  6. Об'єкт в Python
  7. Приклади та як дженерики працюють у C #