| 1 | # Кластер JavaScript (**world (KE):** `software.javascript`) — навигация v1 |
| 2 | |
| 3 | **Назначение:** точка входа с явным разложением **fundamentals → operational**. Контракт memory-architecture: **status → playbook → kb**; playbook — [`playbook-javascript-operational-v1.md`](playbook-javascript-operational-v1.md) (операционный слой и мост от теории к действиям). |
| 4 | |
| 5 | **Статус домена:** `status-javascript-v1.md`. |
| 6 | |
| 7 | --- |
| 8 | |
| 9 | ## Слой fundamentals (спецификация и модель выполнения) |
| 10 | |
| 11 | Карточки **только про язык ECMAScript** (и движки на уровне «что это за реализации», без npm/CI). Читать **по одной**, кроме явного full pass. |
| 12 | |
| 13 | **Порядок full pass (фаза A):** |
| 14 | |
| 15 | 1. `kb-javascript-ecmascript-and-modules-v1.md` — редакции, модули ESM/CJS, транспиляция vs полифилл, **реализации и хосты** |
| 16 | 2. `kb-javascript-types-coercion-and-scope-v1.md` — значения, принуждения, TDZ, замыкания, `this` |
| 17 | 3. `kb-javascript-objects-prototypes-and-classes-v1.md` — прототипы, классы, `#`, итерируемость |
| 18 | 4. `kb-javascript-async-and-event-loop-v1.md` — Promises, async/await, микро/макрозадачи |
| 19 | |
| 20 | **После fundamentals при работе только с DOM/Web API** — MDN/спеки платформы; этот кластер держит **язык**, не каждый браузерный интерфейс. |
| 21 | |
| 22 | --- |
| 23 | |
| 24 | ## Слой operational (репозиторий, CI, угрозы) |
| 25 | |
| 26 | **Фаза B** после A **или** сразу при чисто инфраструктурном вопросе: |
| 27 | |
| 28 | - `kb-javascript-operational-ecosystem-v1.md` — npm/lockfile/semver, ESLint/Prettier, бандлеры, тест‑раннеры, XSS/CSP/eval, audit |
| 29 | |
| 30 | Детальные контракты и таблица «идея fundamentals → шаг в проекте» — в **`playbook-javascript-operational-v1.md`**. |
| 31 | |
| 32 | --- |
| 33 | |
| 34 | ## Таблица: вопрос → куда смотреть |
| 35 | |
| 36 | | Тип вопроса | Первичный kb | |
| 37 | |-------------|----------------| |
| 38 | | ES20xx, TC39, ESM/CJS/`import.meta`, транспилятор, цели сборки | `kb-javascript-ecmascript-and-modules-v1.md` | |
| 39 | | Движки V8/JSC/SM, зачем различать браузеры и версии для одной семантики | `kb-javascript-ecmascript-and-modules-v1.md` § 7 | |
| 40 | | `==`/`===`, UTF‑16, TDZ, `function`/`=>`, `this` | `kb-javascript-types-coercion-and-scope-v1.md` | |
| 41 | | Прототипы, `class`, `#`, итераторы | `kb-javascript-objects-prototypes-and-classes-v1.md` | |
| 42 | | Promises, порядок микро/макрозадач, AbortSignal | `kb-javascript-async-and-event-loop-v1.md` | |
| 43 | | Lockfile, audit, ESLint, бандлеры, тест‑раннеры, CSP/XSS | `kb-javascript-operational-ecosystem-v1.md` | |
| 44 | |
| 45 | --- |
| 46 | |
| 47 | ## Правила нагрузки контекста |
| 48 | |
| 49 | - Не смешивать **фундаментальный** спор о семантике с **npm**‑темой в одной загрузке без нужды. |
| 50 | - При споре о поведении языка — **ECMA-262** + версия движка. |
| 51 | |
| 52 | --- |
| 53 | |
| 54 | ## Registry note |
| 55 | |
| 56 | - **world:** software.javascript |
| 57 | - **layer:** router (индекс кластера) |
| 58 | - **status:** active |
| 59 | - **updated_at:** 2026-05-10 |
| 60 | |
| 61 | |