素材牛VIP会员
Nodejs使用的是javascript还是ECMAScript?
 ki***xx  分类:Node.js  人气:1309  回帖:5  发布于6年前 收藏

一个完整的JavaScript实现是由以下3个不同部分组成的:核心(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)。

Nodejs和couchdb中没有DOM和BOM,那么它运行的还算是javascript吗?

 标签:node.jsjavascript

讨论这个帖子(5)垃圾回帖将一律封号处理……

Lv6 码匠
黄***得 其它 6年前#1

一个完整的JavaScript实现是由以下3个不同部分组成的

从哪儿看的?

文档对象模型(DOM)

DOM 是一种操作 xml 文档的方式,不仅仅是 js,其它语言都有,而且 api 也相当一致。这个 nodejs 也有,因为 nodejs 也可以在服务器端操作 xml。

浏览器对象模型(BOM)

既然是浏览器对象模型,那么服务器端的 js 肯定就没有了。


一个完整的浏览器端JavaScript实现是由以下3个不同部分组成的:核心(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)。

或者

浏览器端上面的JavaScript实现是由以下3个不同部分组成的……

Lv6 码匠
飞***神 PHP开发工程师 6年前#2

Node.js使用的是V8,所以你的问题应该是V8用的是es还是js

Lv6 码匠
訫***3 移动开发工程师 6年前#3

node 组成 :

ECMAScript
CommonJS(fs.tcp…)

node中没有浏览器中的BOM和DOM

而且node对js的支持,是依赖V8引擎实现的,在最新的V0.11.9中,已经可以启动harmony模式来支持ES6

所以如果说的严谨一些, node使用的是ECMAScript, 不知楼主对这个说法是否满意

楼主这段话应该是红皮书上的,说的是JavaScript的实现,这个没有问题,因为本来JS就是为了浏览器设计出来的,实现的话要依赖浏览器,即要包含BOM和DOM

Lv6 码匠
真***名 其它 6年前#4

ECMAScript只是文档标准,任何具体的二进制环境中都不包括之。
v8引擎是该标准的其中一个实现,chrome、node中包含的是v8,不是ECMAScript。
还有IE中也有实现ECMAScript的部分,至于实现了其中的多少比率,靠你去挖掘了

Lv5 码农
龙***6 UI设计师 6年前#5

个人觉得是这样的 ECMAScript是一种语言规范,而javascript是实现这种语言规范的语言之一。而javascript的适用场景不同决定它的不同类型内置对象和api.

举个例子来说,javascript在浏览器环境下时的全局global是window,并且挂载了文档对象模型和浏览器对象模型。

而javascript在nodejs的执行环境下除了ECMAscript规范所要求的之外,有nodejs专属的对象及api.

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取