JavaScript — высокоуровневый мульти-парадигменный язык программирования, стандартизованный в спецификации ECMAScript. Изначально разработанный для добавления динамики в веб‑браузеры, язык эволюционировал в универсальную платформу для клиентских, серверных и встраиваемых приложений. JavaScript поддерживает объекты, функции первого класса, прототипное наследование и гибкие способы описания поведения программ, благодаря чему используется в широком диапазоне задач от манипуляции документом до разработки распределённых систем.
Стандарт ECMAScript определяет синтаксис, типы данных, стандартную библиотеку и модель выполнения кода; различные реализации (включая движки в браузерах и серверной среде Node.js) реализуют этот стандарт и расширяют его средовыми API. Язык сочетает императивные, функциональные и объектно‑ориентированные подходы, предоставляет асинхронные примитивы (промисы, async/await) и тесно интегрирован с экосистемой модулей и систем сборки. Развитие языка происходило через серию редакций стандарта, которые добавляли новые возможности для повышения выразительности и удобства разработки.
- Стандарт: Спецификация ECMAScript определяет синтаксис, семантику и базовые API.
 - Парадигмы: Поддержка процедурного, объектного (прототипного) и функционального стилей программирования.
 - Типизация: Динамическая, с нестрогой проверкой типов и встроенными примитивными типами (числа, строки, булевы, null, undefined, символы, BigInt).
 - Функции: Функции — объекты первого класса, замыкания, стрелочные функции и гибкие способы объявления.
 - Асинхронность: Событийно‑ориентированная модель ввода‑вывода, промисы, async/await и обратные вызовы для асинхронных операций.
 - Среды выполнения: Встраивается в браузеры, используется на сервере (например, Node.js) и в встраиваемых системах.
 - Модули: Стандартный механизм модулей (ES Modules) и системы пакетов для управления зависимостями.
 - Интерактивность: Широко применяется для обновления интерфейсов, обработки событий и взаимодействия с DOM в веб‑приложениях.
 - Инструментарий: Большая экосистема библиотек, фреймворков и инструментов разработки для сборки, тестирования и деплоя.
 - Совместимость: Различные реализации и обратная совместимость спецификации требуют механизмов транспиляции и полифиллов для старых сред.