Перейти к основному содержимому

О разделе

Длинные листинги (от ~15 строк) вынесены в каталог code.spirzen.ru и подгружаются в статьях через ExternalCodeEmbed — так HTML энциклопедии не раздувается, а код остаётся с подсветкой, вкладками и сериями "шаг 1…N". Короткие фрагменты (одна строка, пара выражений) по-прежнему прямо в markdown. Диаграммы mermaid и интерактив — на месте или в play.spirzen.ru.

JavaScript оживляет страницу в браузере. Это не Java — разные языки.

Официальная документация

ECMAScript задаёт стандарт; в браузере и Node.js сверяйтесь с реализацией через MDN и справочники вендоров:

MDN: JavaScript · TypeScript Handbook · Node.js Docs · React · современный учебник JS · подборка документации.

Термины экосистемы

ТерминКраткоСтатья раздела
ECMAScriptофициальный стандарт языка (TC39, Ecma International)Основы, История
JavaScriptторговое имя реализации ECMAScript в браузерах и Node.jsОсновы
JScriptреализация Microsoft в Internet ExplorerИстория
ActionScriptязык платформы Adobe Flash (на базе ECMAScript)История, Экосистема
DOMдерево объектов HTML/XML в браузереРабота с HTML, Применение в вебе
AJAXобмен данными с сервером без полной перезагрузки страницыАсинхронность, История
Cometpush-модели поверх HTTP (long polling, поток)Асинхронность, SSE
Веб-приложениеинтерактивная программа в браузере (часто SPA)Применение в вебе
V8движок JavaScript (Chrome, Node.js)Применение, Node.js
Chromiumоткрытый браузерный проект (рендер + V8)Применение
Node.jsсерверная среда на V8Node.js
Electronдесктоп на Chromium + Node.jsПрименение
webOSплатформа устройств (TV) на веб-технологияхПрименение
jQueryбиблиотека DOM и AJAX (2006+)jQuery — обзор, справочник
React, Vue, Angular, Ember, Ext JSUI-фреймворки и библиотекиReact (карта тем, первая программа, справочник, галерея компонентов), Vue, Angular, Экосистема, Ext JS

Сначала: Что такое код и как он работает — общая база — код, блок кода, компиляция и интерпретация, исходный, байт- и машинный код; в этом разделе — синтаксис и особенности языка.

Event loop, Worker и async

В браузере и Node.js основной поток один; параллелизм — через асинхронность и Web Workers.

Теория — процессы и потоки; в Node — worker_threads, child_process.

В основах JavaScript модель Event Loop и асинхронность сначала разбираются псевдокодом, затем — на JS/Node.

Краткие идиоматичные записи (обмен переменных, slice, spread, Set) — в общей таблице однострочников; разворот и методы строк — в типах данных — строки.


Главы по API и расширению возможностей JavaScript

Если вы хотите углубиться именно в тему API, интеграций и расширений, идите по этому маршруту:

ШагМатериалЧто изучаете
1Основы JavaScriptсреда выполнения, Web API, Event Loop
2Асинхронное программированиеPromise, async/await, fetch, очереди задач
3Работа с HTML + Событиядоступ к DOM, addEventListener, реакция на действия пользователя
3aCanvas 2Dпрограммируемая графика на <canvas>
3bПримеры фигур p5.jsквадрат, цветок, фракталы — готовые скетчи с разбором строк
4BOMwindow, location, history, navigator, geolocation
5Практика · curl / fetch — примеры · Fetch / axios — типовые запросырабочие сниппеты и галереи: GET/POST, токен, таймаут, React useEffect — с построчным разбором
6Web Share APIсистемное окно "Поделиться" через navigator.share
7Notification APIразрешения и нативные уведомления браузера
8Первая программа на Reactподключение API в компонентном UI
8aReact — компоненты-рецептысчётчик, todo, формы, modal, Router — готовый код с разбором строк

Этот маршрут даёт полноценный переход от нативных API браузера к прикладным интеграциям в реальных интерфейсах.


Важно про TypeScript

Если идёте в сторону крупных frontend/backend-проектов, добавьте в маршрут TypeScript (подробнее в отдельном разделе). Для ветки 7.x в экосистеме TypeScript анонсирован нативный компилятор на Go: это ориентировано на более быструю проверку типов и сборку в больших кодовых базах, особенно в CI/CD. Примеры workflow для Node — GitHub Actions — CI/CD рецепты.

Практический вывод: при обновлении toolchain проверяйте официальные release notes TypeScript и совместимость вашей инфраструктуры.


Маршрут по TypeScript

Пошаговое углубление в отдельный раздел TypeScript:

ШагТемаРаздел
1Зачем TS, типы и значения§ Типы и значения
2Компилятор, tsconfig, strict§ Компилятор, справочник §11
3Функции, полиморфизм, type-driven§ Разработка на основе типов
4Классы, примеси, паттерны§ Примеси и паттерны
5Продвинутые типы, тотальность§ Продвинутые типы
6Ошибки — Option, Result§ Обработка ошибок
7Promise, Worker§ Асинхронность с типами, Асинхронное программирование в JavaScript
8Миграция JS-проекта§ Поэтапная миграция
9Monorepo, NPM§ Monorepo и публикация
10ШпаргалкаСправочник TypeScript

С чего начать

ШагМатериалЗачем
0Ошибки и исключения (теория)обработка в JS, типы ErrorДо углубления в async и фреймворки
1Основы JavaScriptСинтаксис, браузер
1aТипы данныхПримитивы, методы строк (charAt, includes, slice, …)
1bTypeScript (подробнее в отдельном разделе)Типизация и масштабирование больших проектов
2Первая программа на Node.jsExpressКонсоль, npm, http, REST API
2aТочка входа в Node.jsrequire.main, ESM и прямой node file.js
3React · галерея · Vue · NextUI
3bFullstackAPI + фронт, CORS
4AngularКрупные SPA (по желанию)
5Electron + ReactДесктоп
5aTypeScript (подробнее в отдельном разделе)ПрактикумИгры на TS (Canvas, онлайн-карты)

В конце раздела — чек-лист самопроверки.

Маршрут: от Node до fullstack

Последовательность "сервер → браузер → сборка": 262 (Node до Express) → типы и Dateasync и fetchFetch / axios — типовые запросыDOMCanvasp5.js — фигурыWebpack / ViteExpressFullstack.

Новая карта экосистемы

Для тем по runtime и фреймворкам используйте отдельную карту: JavaScript экосистема — Runtime и Frameworks. Там собраны ветки Node.js, Frontend Frameworks и Meta Frameworks.

Инструменты для старта

VS Code, встроенный терминал, Live Server и Emmet для HTML/CSS — DevTools в браузере — справочник, общие принципы отладки — Отладка, IDE — редакторы.

Разметка — HTML, стили — CSS.

Целый index.html с разбором тегов — HTML-страницы целиком.

Макеты до первого скрипта — HTML + CSS — готовые макеты, Tailwind — Tailwind — готовые блоки, анимации — CSS-анимации — готовые эффекты.


Частые ошибки при старте

ОшибкаЧто делать
Прыжки между языкамиЗакройте одну "первую программу", потом сравнивайте
Код без запускаВыполните пример локально
Сразу большой фреймворкСначала база раздела, потом REST/UI

Что попробовать

  1. Шаг 1 из таблицы.
  2. Три непонятных термина — найдите статьи в оглавлении раздела.
  3. Другой язык — только после своей рабочей первой программы.

Play ITЗагрузка интерактивного демо…

Play ITЗагрузка интерактивного демо…

Play ITЗагрузка интерактивного демо…


В подборках

Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:

База программистаLow-code и No-code платформы, Python — о разделе, Автоматическое управление памятью, Java — о разделе, Разработка и отладка — о разделе, Документация и инструменты Java (Microsoft).

Веб-разработкаHTML — о разделе, CSS — о разделе, Веб-браузеры, PHP — о разделе, Веб-сайты и веб-приложения — о разделе, ASP.NET - веб-платформа Microsoft.

Бэкенд и серверная разработкаSQL — о разделе, Python — о разделе, Контейнеризация и оркестрация — о разделе, Java — о разделе, Микросервисы и интеграция — о разделе, Платформа .NET — о разделе.