ECMAScript与JavaScript的区别?浏览器、NodeJS、微信小程序中的JS有什么区别?

ECMAScript与JavaScript通常都被用来表达相同的含义,但是JavaScript的含义要比ECMAScript多。ECMAScript是由Ecma国际通过ECMA-262标准化的脚本程序设计语言, JavaScript 是 ECMAScript 的一种实现。

ECMA-262 规定了 ECMAScript 语言的几个重要组成部分:

  • 语法
  • 类型
  • 语句
  • 关键字
  • 保留字
  • 操作符
  • 对象

ECMAScript是对实现该标准的各个方面内容的语言描述。

ECMAScript与Web浏览器没有依赖关系。Web浏览器是ECMAScript实现可能的宿主环境之一。

浏览器中JavaScript的实现由以下三个部分组成:

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

其它的宿主环境中如:

NodeJS中JavaScript的实现由以下三个部分组成:

  • 核心(ECMAScript)
  • NPM
  • Native

(NodeJS通过使用NPM 包管理各种拓展包来快速实现一些功能,同时通过使用一些原生的模块例如 FS、HTTP、OS等来拓展能力。)

微信小程序中 JavaScript的实现由以下三个部分组成

  • 核心(ECMAScript)
  • 小程序框架
  • 小程序API

参考资料:

  • https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
  • https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Language_Resources
  • https://tc39.es/ecma262/
  • https://www.freecodecamp.org/news/whats-the-difference-between-javascript-and-ecmascript-cba48c73a2b5/
    中译
  • https://developers.weixin.qq.com/ebook?action=get_post_info&volumn=1&lang=zh_CN&book=miniprogram&docid=000a8806958588cb00862bd5851c0a
  • JavaScript 高级程序设计(第三版)1.2节

你可能感兴趣的:(ECMAScript与JavaScript的区别?浏览器、NodeJS、微信小程序中的JS有什么区别?)