Що таке JavaScript?

Що таке JavaScript?
Складність: Легко

JavaScript це мова програмування яка виконуєтся на стороні користувача, тобто в браузері. Зазвичай в чистому вигляді JavaScript не використовуєтся а для створення “клієнтської” частини (front-end) використовуются різноманітні фреймворки та бібліотеки. На відміну від серверної частини (back-end), JavaScript це єдина мова програмування яка станом на 2024 рік може виконуватись браузером.

Прийнято вважати що все що потрапляє на комп’ютер користувача не є надійним, тобто завдяки JavaScript можна створювати допоміжний функціонал, який поліпшить використання користувачем ресурсу. Це можуть скрипти для більш наочної презентації данних, або перевірка данних (валідація) одразу у браузері коричтувача для того щоб не чекати відповіді серверу.

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

Мова програмування JavaScript працює на основі DOM (Document Object Model). Це означає що весь HTML в JavaScript є обїєктами, з певними властивостями та методами. Будь який HTML елемент обираєтся завдяки селекторам, схожим на селектори CSS. Для маніпуляцій з DOM зазвичай необхідно знйти вузол (node). Використовуючі необхідний вузол можна змінювати наявний HTML, в тому числі створювати, додавати, або видаляти вузли.

Можливості JavaScript

Завтяки JavaScript працюють AJAX-запити (тобто запити без перезавантаження сторінки). AJAX значно полегшує роботу користувача з ресурсом. Наприклад завдяки AJAX можна отримати тільки необхідні данні з сервера. Це актуальна задача для великих обсягів данних, наприклад для отримання всіх населених пунктів країни. Якщо це робити без AJAX то сторінка буде вантажитись дуже доаго, бо доведется вантажити всі населені пункти одназу в HTML, а їх сотні тисяч. Однак використовуючі AJAX ми можемо виконати таку задачу як фільтр. Наприклад спочатку запропонувати обрати країну, потім штат/область, і вже потім населенніий пункт.

Завдяки маніпуляціям з DOM та AJAX-запитам працює технологія SPA (Single Page Application) яка дозволяє завантажувати з сервера лише необхідні данні та відображати їх на front-end. Такий підхід дуже сильно прискорює завантаження сторінки та дає можливість змінювати лише змість окремого блоку в разі необхідності.

Обмеження у використанні JavaScript

Найбільше обмеження яке може бути це вимкнений JavaScript в браузері користувача. Звісно, в цьому випадку у користувача не буде працювати певно 80 або 90% сайтів, однак така вірогідність є і її слід враховувати.

Якщо у вимогах до проекту є підтримка старих браузерів, слід пересвідчитись що фреймворки та бібліотеки які використовуются працюють у найстаріших з них. Це пов’язано з тим що прогрес не стоїть на місці, і певні стандарти можуть не підтримаєтся старими браузерами. Крім того, старі браузери використовують різні ядра, це означає що можуть бути проблемами з кроссбраузерністю.

Є обмеження пов’язані з SEO, хоча сучасні пошукові роботи і вміють виконувати JavaScript однак все ж буде гарною ідеєю покласти відповідальність за рендер SEO частини на back-end.