PassFront
  1. PassFront
  2. База знаний
  3. Современный JS ES6+

ECMAScript и JavaScript это одно и то же или нет?

Современный JS ES6+

ECMAScript и JavaScript — не совсем одно и то же: ECMAScript — это стандарт (спецификация), а JavaScript — язык, который его реализует, добавляя окружение (DOM, браузерные API).

ECMAScript

Спецификация языка (ECMA-262), разрабатываемая комитетом TC39. Определяет:

  • Синтаксис (переменные, функции, классы).
  • Типы данных.
  • Встроенные объекты (Array, Object, Promise).
  • Семантику выполнения.

Это стандарт, а не исполняемый язык.

JavaScript

Реализация ECMAScript плюс дополнительные API среды:

  • Браузер: DOM, window, fetch, события — не входят в ECMAScript.
  • Node.js: fs, process, модули — тоже вне ECMAScript.
JavaScript = ECMAScript (ядро языка) + API окружения (DOM/Node)

Аналогия

ECMAScript — как правила языка (грамматика), JavaScript — реальный язык, на котором пишут (грамматика + словарь конкретной среды).

Другие реализации ECMAScript

ActionScript (Flash), JScript (старый IE) — тоже реализовывали ECMAScript.

Коротко для собеседования

Не одно и то же: ECMAScript — стандарт/спецификация языка (ECMA-262, от TC39), а JavaScript — его реализация плюс API окружения (DOM, window, Node API), которых нет в самом стандарте. ECMAScript — ядро языка, JavaScript — язык в конкретной среде.

Другие вопросы раздела