JavaScript

Язык программирования веб-страниц: делает их интерактивными в браузере, а на сервере работает в Node.js.

JavaScript — язык программирования, который выполняет каждый браузер. Если HTML описывает содержимое страницы, а CSS — ее вид, то JavaScript отвечает за поведение: меню раскрывается, форма проверяет поля, данные подгружаются без перезагрузки страницы. С Java у него общего только часть названия.

Немного истории

Язык создал Брендан Эйк в компании Netscape в 1995 году. Его стандартизованная версия называется ECMAScript и обновляется ежегодно. В 2009 году появилась среда Node.js, которая позволила запускать JavaScript на серверах, — с тех пор на нем пишут и интерфейс, и серверную часть.

Пример

const response = await fetch("/api/orders?status=paid");
const orders = await response.json();

document.querySelector("#count").textContent = orders.length;

Код запрашивает у сервера оплаченные заказы, дожидается ответа и выводит их число на страницу. Слово await позволяет ждать ответа сети, не «замораживая» страницу: пока идет запрос, интерфейс продолжает реагировать на действия пользователя.

Где работает JavaScript

  • В браузере — интерактивность страниц и полноценные веб-приложения: почта, банковские кабинеты, редакторы документов.
  • На сервере — Node.js и более новые среды Deno и Bun: API, чат-боты, сервисы уведомлений.
  • В мобильных приложениях — через React Native.
  • В настольных программах — через Electron; так сделаны, например, Visual Studio Code и Slack.

Особенности языка

  • Динамическая типизация. Тип переменной определяется во время работы. Это ускоряет старт, но в больших проектах приводит к ошибкам, поэтому их часто пишут на TypeScript — JavaScript с проверкой типов.
  • Асинхронность. В браузере JavaScript выполняется в одном потоке и не ждет медленные операции, а подписывается на их завершение. Отсюда обещания (promises) и async/await.
  • Функции как значения. Их передают как аргументы — отсюда удобная обработка событий и элементы функционального стиля.

Экосистема

Интерфейсы чаще всего строят на библиотеках и фреймворках: React, Vue, Angular, а для сайтов с серверной отрисовкой — Next.js. Готовые пакеты устанавливают из реестра npm — это одно из крупнейших хранилищ библиотек в мире. Обратная сторона — зависимостей становится много, и их нужно регулярно обновлять и проверять на уязвимости.