JavaScript — объектно-ориентированный скриптовый язык программирования. Является диалектом языка ECMAScript.
JavaScript по большей части используется как встраиваемый язык для программного доступа к объектам приложений. Особенно широкое использование находит в браузерах как язык сценариев для придания интерактивности веб-страницам.
Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса.
На JavaScript оказали влияние многие языки, при разработке была расчёт сделать язык похожим на Java, но при этом лёгким для использования непрограммистами. Языком JavaScript не владеет какая-либо организация или компания, что отличает его от ряда языков программирования, используемых в веб-разработке.
Возможности JavaScript
JavaScript владеет рядом свойств объектно-ориентированного языка, хотя реализованное в языке прототипирование обуславливает различия в работе с объектами по сравнению с классическими объектно-ориентированными языками. Помимо того, JavaScript имеет ряд параметров, присущих функциональным языкам — функции как объекты первого класса, объекты как списки, карринг, анонимные функции, замыкания — что придаёт языку доп гибкость.
Несмотря на похожий с C синтаксис, JavaScript в сравнении с языком C имеет коренные различия:
- функции как объекты первого класса;
- объекты, с возможностью интроспекции;
- автоматическое приведение типов;
- анонимные функции;
- автоматическая сборка мусора;
В языке отсутствуют такие нужные вещи, как:
- стандартная библиотека: а именно, отсутствует интерфейс программирования приложений по работе с файловой системой, управлению потоками ввода/вывода, базисных типов для бинарных данных;
- модульная система: JavaScript не предоставляет возможности распоряжаться зависимостями и изоляцией областей видимости;
- система управления пакетами, которая бы отслеживала зависимости и автоматически устанавливала их.
- стандартные интерфейсы к веб-серверам и базам данных;
Область применения JavaScript в веб-приложениях
JavaScript применяется в клиентской части веб-приложений: клиент-серверных программ, в котором клиентом выступает браузер, а сервером — веб-сервер, имеющих распределённую меж сервером и клиентом логику. Обмен информацией в веб-приложениях осуществляется по сети. Одним из преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы пользователя, поэтому веб-приложения считаются межплатформенными сервисами.
AJAX
JavaScript применяется в AJAX, популярном подходе к построению интерактивных пользовательских интерфейсов веб-приложений, заключающемся в «фоновом» асинхронном обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью и интерфейс веб-приложения становится быстрее, чем это происходит при традиционном подходе (без применения AJAX).
Comet
Comet — зонтичный термин, описывающий механизм работы веб-приложений, использующих постоянные HTTP-соединения, что позволяет веб-серверу отправлять данные браузеру без дополнительного запроса со стороны браузера. Для таких приложений используются технологии, непосредственно поддерживаемые браузеры. В частности, в них широко используется JavaScript.
Браузерные операционные системы
JavaScript широко применяется в браузерных операционных системах. Так, к примеру, исходный код IndraDesktop WebOS на 75% состоит из JavaScript, код браузерной операционной системы IntOS — на 70%. Доля JavaScript в исходном коде eyeOS — 5%, однако и в рамках этой операционной системы JavaScript играет важную роль, участвуя в визуализации на клиенте и являясь необходимым механизмом для коммуницирования клиента и сервера.