JavaScript

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

Особливості JavaScript

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

Як працюють движки?

JS виконується в браузері, на сервері, іншому пристрої, який має певну програму. Браузер має власний движок, часто його називають віртуальна машина JavaScript. Різні движки мають різні кодові імена.

  • V8 – у Chrome, Opera та Edge.
  • JavaScriptCore, Nitro і SquirrelFish для Safari.
  • SpiderMonkey – у Firefox.
  • Chakra для IE.

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

Що може JavaScript у браузері?

Сучасна JavaScript – це безпечна мова програмування, що не надає низькорівневого доступу до пам’яті або процесора, оскільки JS з самого початку була створена для браузерів, які цього не вимагали. Можливості JavaScript залежать від оточення, де вона працює.

Так, Node.JS здатна підтримувати функції виконання мережевих запитів, читання та запису довільних файлів. Детальніше про можливості JS від української ІТ-компанії, яка спеціалізується на JavaScript: https://elitex.systems/javascript-development (англійською).

У браузері для JavaScript є все, що пов’язано з маніпулюванням веб-сторінками, взаємодією з користувачем і веб-сервером. Наприклад, у браузері JavaScript може:

  • Змінює вміст, модифікує стилі, додає новий HTML-код на web-сторінку.
  • Реагує на дії користувача, натискання миші, переміщення вказівника, натискання клавіш.
  • Надсилає мережеві запити на віддалені сервери, завантажує файли.
  • Отримує та встановлювати куки, ставить запитання відвідувачу, показує повідомлення.
  • Запам’ятовує дані за клієнта.

Чого НЕ може JavaScript у браузері?

Можливості JavaScript у браузері обмежені задля безпеки користувача та призначені запобігати доступу недобросовісної сторінки до особистої інформації, нанесенні шкоди користувачам.

  • JavaScript на веб-сторінці не може читати/записувати довільні файли на жорсткому диску, копіювати або запускати програми, не має безпосереднього доступу до системних функцій ОС. Web-сторінка з JS не здатна без спеціального дозволу непомітно включити веб-камеру, спостерігати за користувачем та надсилати інформацію.
  • Різні вікна/вкладки не знають одне про одного. Навіть у випадку, коли одне вікно відкриває інше, JS з однієї сторінки не має доступу до іншої, якщо вони прийшли з різних web-ресурсів.
  • JS раціонально взаємодіє з сервером, з якого відбулася передача інформації. Але здатність отримувати дані з інших сайтів або доменів обмежена.

У випадку, коли JS використовується поза браузером, на сервері, такі обмеження не діють. Сучасні браузери надають плагіни/розширення, за допомоги яких є можливість вимагати необхідні додаткові дозволи.

Подписывайтесь на наши сообщества в Viber и Telegram