javascript - Node.js 是 JavaScript 运行环境还是 EcmaScript 环境?

标签 javascript node.js

根据 https://nodejs.org/en/

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/

相关文章:

javascript - 查找并打印网页大小(以字节为单位)以及所有 <a> 标签的数量

javascript - 与用户操作交互的模态弹出窗口,如用户设置的最大化、最小化、关闭、调整大小和可拖动

javascript - 同时在Mongoose中搜索多个值

javascript - Webpack 中的排除选项与入口点

node.js - 如何使用 webpack 4 使用 pug 模板引擎成功构建 NodeJS 项目

javascript - then() 在 Promise 之前完成

Javascript return 不返回任何内容

javascript - 如何使用 asp.net 和 jquery 在查询字符串中传递特殊字符?

javascript - 动态参数页面评估

node.js - 是否可以在编辑器中而不是在 Web 浏览器中运行 React.js 调试器