Спецификация и справочники

Спецификация и справочники #

ECMAScript — официальный стандарт языка JavaScript: синтаксис, типы, встроенные объекты (Array, Promise, Map). Всё остальное — DOM, fetch, localStorage — описывают отдельные спецификации Web-платформы и документация сред выполнения.


ECMAScript и TC39 #

Стандарт развивает комитет TC39 (Ecma International). Версии с ES2015 выходят ежегодно: ES2020, ES2024 и т.д. Номер «ES6» и «ES2015» — одно и то же обновление.

Спецификация ECMA-262 написана для implementers: формулировки точные, но сухие. Пример из практики — проверить, как именно работает Array.prototype.sort:

const ids = [10, 2, 1]
ids.sort() // [1, 10, 2] — лексикографическая сортировка строк!
ids.sort((a, b) => a - b) // [1, 2, 10] — числовая

Стандарт задаёт алгоритм сортировки и правила сравнения; учебник объясняет, зачем передавать компаратор — спецификация описывает что происходит по шагам.

Для повседневной разработки полный текст ECMA-262 нужен редко: при спорных edge cases, при работе над двиком или при изучении новой фичи до появления удобных статей.


Что входит в язык, а что — в платформу #

ОбластьПримерыГде описано
Язык ESlet, классы, промисы, JSON.parseECMA-262
Браузерdocument, fetch, localStorageWHATWG, W3C, MDN
Node.jsnode:fs, node:httpДокументация Node
// язык ES — одинаков в браузере и Node
const data = JSON.parse('{"ok":true}')

// платформа браузера — только в вкладке
document.title = 'JSFlow'

// платформа Node — только вне браузера
// import fs from 'node:fs'

Путаница «это JavaScript или нет» обычно означает: «это ECMAScript или Web API?». На собеседованиях и в коде полезно разделять эти слои.


Зачем нужны справочники (и MDN) #

Справочник — алфавитный или тематический каталог API с синтаксисом, параметрами и примерами. MDN Web Docs — крупнейший открытый справочник по JavaScript и веб-платформе на нескольких языках, включая русский.

MDN не заменяет учебник построчным курсом. Его роль другая:

  1. Уточнить сигнатуру — сколько аргументов у replaceAll, что возвращает fetch.
  2. Проверить совместимость — поддерживает ли целевой браузер метод.
  3. Найти связанные API — от Request к Headers, от Storage к событиям.

JSFlow выстраивает темы от простого к сложному с связным повествованием. MDN удобен, когда вы уже знаете что ищете, и нужна точная карточка метода.

Другие источники: caniuse.com для поддержки в браузерах, node.dev для Node, release notes TC39 для новых proposal.


Как читать документацию эффективно #

  1. Сначала концепция в курсе, затем карточка API в справочнике — так проще удержать контекст.
  2. Смотрите раздел «Примеры» и edge cases, не только первую строку описания.
  3. Различайте «устарело» и «экспериментально» — в MDN такие пометки есть у устаревших API.
  4. Проверяйте средуwindow.alert в справочнике браузера не поможет в скрипте Node.
// справочник подскажет: второй аргумент — locale или options
'ёжик'.localeCompare('язык', 'ru') // -1

Спецификация vs учебник vs блог #

ФорматСильная сторонаСлабая сторона
ECMA-262Абсолютная точностьСложный язык, мало примеров
Учебник (JSFlow)Путь обучения, связностьНе покрывает каждый метод
MDN / Node docsПолнота APIМало «истории» и мотивации
Статьи и докладыКонтекст индустрииМогут устареть

Оптимальная связка: пройти тему в JSFlow, закрепить практикой, при необходимости открыть MDN или раздел Node для деталей.


Итог #

  • ECMAScript стандартизирует язык; DOM, fetch и Node API — отдельные слои.
  • TC39 выпускает ежегодные редакции ES; полная спецификация нужна для глубокой верификации.
  • MDN и аналоги — справочники по API, а не замена структурированному курсу.
  • JSFlow даёт маршрут обучения; справочник — точечные ответы по синтаксису и совместимости.

См. также #