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节