
上QQ阅读APP看书,第一时间看更新
1.4 JavaScript与Node.js对比
1.1节介绍过,前端的JavaScript其实是由ECMAScript、DOM、BOM组合而成的。那么Node.js是由哪些部分组成的呢?
Node.js是由以下5个不同部分组成的:
· ECMAScript:语言基础,如语法、数据类型结构以及一些内置对象。
· OS:即操作系统交互部分。
· File:文件系统。
· Net:网络系统。
· Database:数据库。
很容易看出,前端和后端的JavaScript相同点就是,二者的语言基础都是ECMAScript,只是所扩展出来的内容不同。前端需要操作页面元素,因此需要DOM;需要操作浏览器,因此需要扩展BOM。而服务端的JavaScript则是基于ECMAScript扩展出了服务端所需要的一些API,后台需要有操作系统的能力,因此扩展OS;需要有操作文件的能力,因此扩展出File文件系统;需要操作网络,因此扩展出Net网络系统;需要操作数据,因此扩展出Database的能力。
前端和服务端的JavaScript相似,基础是相同的,但由于运行环境不同,导致所扩展出来的相关内容不同。JavaScript是一门完整的语言,可以使用在不同的上下文中。Node.js就是另外一种上下文,它允许脱离浏览器环境运行JavaScript代码,使用V8虚拟机来解释和执行JavaScript代码。同时,Node.js提供许多有用的模块,用于简化重复工作。
因此,Node.js事实上既是一个运行时环境,又是一个库。