ES5,ES6,javascript和nodejs之间的关系

我们在学习nodejs时很自然的认为他是javascript,有时还把他搞混,事实上ES5和ES6按理来说只是一个标准,javascript是ES的具体实现。
JavaScript 由Netscape 公司创造 ,1996 年 11 月,决定将 JavaScript 提交给标准化组织 ECMA,希望这种语言能够成为国际标准。之后,由ECMA发布的JavaScript就叫做ECMAScript了,简称ES。

1、ECMAScript 和 JavaScript 的关系

ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现。

2、ES5 和 ES6

ES5是ECMAScript的第5版,ES6是ECMAScript的第6版。

3、Node.js

Node.js 是 JavaScript 的服务器运行环境。它对 ES6 的支持度更高。

这里一开始可能有一个疑惑的问题。
1、Node.js是javascript的运行环境,他是否像我们常用的客户端编写js时是不能操作文件,不能读写操作文件,也不能在js中引用其它的js文件,这个是受客户浏览器的限制,也是安全的考虑,所以同样的javascript语言,关键看运行的平台和容器是否提供这样的接口和方法。如果在服务器就没有这方面的限制了,因此多了一些操作文件的方法,也能把JS分开写到不同的模块中来相互引用,同样的nodejs还可以操作数据库等。因此同样是javascript但是扩展的方法是不一样的。
我们客户的javascript通常包括ECMAScript+DOM+BOM

ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象)
DOM(一些操作页面元素的方法)
BOM(一些操作浏览器的方法)

而nodejs包括 ECMAScript+OS+FILE+NET+DATABASE等。

ECMAScript(语言基础,如:语法、数据类型结构以及一些内置对象)
os(操作系统)
file(文件系统)
net(网络系统)
database(数据库)

前端和后端的js相同点就是,他们的语言基础都是ECMAScript,只是他们所扩展的东西不同,前端需要操作页面元素,于是扩展了DOM,也需要操作浏览器,于是就扩展了BOM。而服务端的js则也是基于ECMAScript扩展出了服务端所需要的一些API,后台语言有操作系统的能力,于是扩展os,需要有操作文件的能力,于是扩展出file文件系统、需要操作网络,于是扩展出net网络系统,需要操作数据,于是要扩展出database的能力。

2、那么nodejs是一个运行javascript的服务器端环境,那么他是支持ES5标准还是ES6标准呢,其实经过测试我们发现新版本的nodejs支持ES6的一些写法,像sync wait及Map,set等。

猜你喜欢

转载自blog.csdn.net/weixin_36557877/article/details/129284966