Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
然而,根据this回答,JavaScript 是:
JavaScript = ECMAScript + DOM API;
并且 Node.js 运行时中没有 DOM。 (或者有吗?)还引用了书中的内容:Professional JavaScript for Web Developers :
Though JavaScript and ECMAScript are often used synonymously, JavaScript is much more than just what is defined in ECMA-262. Indeed, a complete JavaScript implementation is made up of the following three distinct parts:
- The Core (ECMAScript)
- The Document Object Model (DOM)
- The Browser Object Model (BOM)
支持我链接到的答案。
考虑到以上事实,说 Node.js 是一个 ECMAScript 运行时是不是正确的?如果不是,如果我们想 fork Node.js 并使其成为 ECMAScript 运行时而不是 JavaScript 运行时,我们需要删除(或添加?)什么?
最佳答案
JavaScript 和 ECMAScript 之间的区别只是一个迂腐的区别,大多数人并不真正关心。从技术上讲,根据标准的官方语言名称是 ECMAScript,但出于历史和方便的原因,人们几乎总是将其称为“JavaScript”。我从未见过有人称自己为“ECMAScript 开发人员”。
据我所知,JavaScript 甚至没有正式的正式定义。虽然 ECMAScript 有一个规范定义,其版本由其各种规范正式定义,但“JavaScript”的含义基本上是由人们如何使用它来定义的。
出于这个原因,Node.js 将自己标榜为 JavaScript 运行时。将其称为 ECMAScript 运行时可能更“技术上正确”,但以这种方式宣传它会让大多数人更加困惑。
关于javascript - Node.js 是 JavaScript 运行环境还是 EcmaScript 环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50296495/