Язык программирования JavaScript
JavaScript — это высокоуровневый, динамически типизированный, интерпретируемый язык программирования, который хорошо подходит для объектно-ориентированного и функционального стилей программирования.
JavaScript представляет собой реализацию ECMAScript. ECMAScript — это описание языка (спецификация), который определён в стандарте ECMA-262.
JavaScript состоит из трёх частей:
- Ядро (реализация ECMAScript) — базовая функциональность JavaScript.
- Объектная модель документа (Document Object Model, DOM) — API для работы с содержимым веб-страниц.
- Объектная модель браузера (Browser Object Model, BOM) — API для взаимодействия с браузером.

Клиентский JavaScript
В браузерах по умолчанию встроено специальное программное обеспечение, называемое интерпретатором JavaScript, это сделано для того, чтобы браузер мог выполнять написанный на языке JavaScript код. Как правило, JavaScript называют клиентским языком, подчёркивая тем самым, что сценарий исполняется на клиентском компьютере в браузере, а не на веб-сервере.
Возможности JavaScript в браузере
В браузере JavaScript может:
- Добавлять различные эффекты анимации;
- Реагировать на различные события;
- Осуществлять проверку ввода данных в полях формы до их отправки на сервер;
- Изменять содержимое HTML-элементов, добавлять новые элементы или удалять существующие, изменять стили;
- Взаимодействовать с сервером, скачивать и загружать файлы.
Этим, конечно же, список не ограничивается, так как помимо перечисленного JavaScript позволяет делать многое и многое другое.
Что JavaScript не может делать в браузере
Возможности JavaScript в браузере специально ограничены для безопасности пользователей. Примеры ограничений:
- JavaScript не может закрывать окна и вкладки, которые не были открыты с его помощью;
- Не может получать доступ к веб-страницам, расположенным на других доменах;
- Взаимодействия с камерой/микрофоном и другими устройствами требуют явного разрешения пользователя;
- JavaScript не может получать доступ к веб-страницам, расположенным на другом домене;
- JavaScript не имеет доступа к файлам, расположенным на устройстве пользователя.
В целом, можно сказать, что ограничения направлены на то, чтобы затруднить или даже предотвратить написание вредоносного кода.