ECMAScrip 、JavaScript 和 Node.js 三者之间的关系

编写时间: 2018.7.4

文中描述大部分来源于网络, 只是稍作整理, 来源如下:

  • Wiki: JavaScript
  • 《Understanding ECMAScript 6》oshotokill 翻译版本
  • Wiki: Node.js

ECMAScrip 和 JavaScript

年份 关键词 事件
1995 LiveScript 当时在网景公司就职的布兰登·艾克正为Netscape Navigator 2.0浏览器
开发的一门名为LiveScript的脚本语言
未知 JavaScript 后来网景公司与Sun公司组成的开发联盟为了让这门语言搭上java这个
编程语言“热词”,将其临时改名为“JavaScript”
未知 JScript JavaScript推出后在浏览器上大获成功,微软公司在不久后就为Internet Explorer 3.0浏览器推出了JScript,以与处于市场领导地位的网景产品同台竞争
1997 ECMAScript 起因:
         JScript也是一种JavaScript实现,这两个JavaScript语言版本在浏览器端共存意味着语言标准化的缺失,对这门语言进行标准化被提上了日程.

结果:
        在1997年,由网景、Sun、微软、Borland等公司组织及个人组成的技术 委员会在ECMA(欧洲计算机制造商协会)确定定义了一种名叫ECMAScript的 新脚本语言标准,标准序号为ECMA-262。JavaScript成为了ECMAScript的实 现之一。

总结:

完整的JavaScript实现应该包含三个部分,即

  • ECMAScript(语言核心)
  • DOM(文档对象模型)
  • BOM(浏览器对象模型)

Node.js 和 JavaScript

官网对Node.js的定义

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境

Wiki 的描述

  • Node.js 是一个能够在服务器端运行 JavaScript 的 开放源代码、跨平台 JavaScript 运行环境.
  • Node.js允许使用JavaScript和一系列模块来编写服务器端应用和网络相关的应用。

个人总结:

  • Node.js是平台, 不是语言, 也不是框架.
  • 我们在Node.js平台上 运行 JavaScript语言编写的程序.
  • 并且以上描述中提到的JavaScript我认为是指ECMAScript和一些可以Node.js平台上执行的独有的对象和方法, 而不包含 DOM 和 BOM.

ECMAScrip 、JavaScript 和 Node.js

  • JavaScript 语言的核心特性是由 ECMA-262 标准定义的,而这个标准定义的语言被称为 ECMAScript
  • 你所熟悉的在浏览器或者是在 Node.js 中运行的 JavaScript 其实是 ECMAScript 的一个超集
  • 浏览器及 Node.js 通过额外的对象和方法添加了更多的功能,但是核心部分和 ECMAScript 仍保持一致
  • 总的来讲 ECMA-262 标准的持续发展是 JavaScript 获得如此成功不可或缺的要素

你可能感兴趣的:(ECMAScrip 、JavaScript 和 Node.js 三者之间的关系)