Является ли Node.js средой выполнения JavaScript или средой EcmaScript?

Согласно https://nodejs.org/en/

Node.js® – это среда выполнения JavaScript, встроенная в механизм JavaScript V8 для Chrome.

Однако, согласно этому ответу, JavaScript:

JavaScript = ECMAScript + DOM API;

и в Node.js нет DOM. (или есть?) Также цитируется из книги: Профессиональный JavaScript для веб-разработчиков :

Хотя JavaScript и ECMAScript часто используются синонимом, JavaScript намного больше, чем то, что определено в ECMA-262. Действительно, полная реализация JavaScript состоит из следующих трех отдельных частей:

  • Ядро (ECMAScript)
  • Объектная модель документа (DOM)
  • Модель объекта браузера (спецификация)

который поддерживает ответ, на который я ссылаюсь.

Учитывая вышеизложенные факты, правильно ли сказать, что Node.js – это среда выполнения ECMAScript? Если нет, что нам нужно удалить (или добавить?), Если мы хотим использовать fork Node.js и сделать его исполняемой средой ECMAScript вместо среды выполнения JavaScript?

Разница между JavaScript и ECMAScript – это просто педантичная разница, которую большинство людей действительно не волнует. Технически название официального языка в соответствии со стандартом – ECMAScript, но по историческим и соображениям удобства люди почти всегда называют его «JavaScript». Я никогда не встречал никого, кто называет себя «разработчиком ECMAScript».

Насколько мне известно, JavaScript даже не имеет официального формального определения. Хотя ECMAScript имеет предписывающее определение с версиями, которые формально определяются их различными спецификациями, значение «JavaScript» в основном определяется тем, как люди его используют.

По этой причине Node.js рекламирует себя как среду выполнения JavaScript. Возможно, было бы более «технически корректным» назвать это временем выполнения ECMAScript, но для большинства людей было бы более сложным рекламировать его таким образом.