Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践
我曾试着在谷歌上检索 “ JavaScript 和 ECMAScript 之间的差别。”
最后我在获得的海量的混淆不清又互相抵触的结不雅中彻底掉望了:
“JavaScript 是标准。”
“ECMAScript 是规范。”
“JavaScript 是 ECMAScript 标准的实现。”
“ECMAScript 是标准化的 JavaScript。”
“ECMAScript 是一门说话。”
“JavaScript 是 ECMAScript 的一个分支。”
“ECMAScript 是 JavaScript。”
忍住,别哭。我强打精力决定做一些苦楚但却竽暌剐结不雅的研究。
这篇文┞仿代表了我今朝对 JavaScript 和 ECMAScript 之间差别的懂得。文┞仿合适那些熟悉 JavaScript 但又想加倍清跋扈地懂得其与 ECMAScript、web 浏览器、Babel 等是何种关系的人。你还会额外懂得到脚本说话、JavaScript 引擎以及 JavaScript 运行时。
那么,打起精力来吧。
JavaScript/ECMAScript 词汇表
下面是一系列的定义,设计的侧重点在于一致性和清楚性。定义并非百分比完全。它们被设计大年夜宏不雅的的层面对 JavaScript 和 ECMAScript 之间的接洽和关系给出了解释。
闲话少叙,让我们开端吧。
Ecma International
一个为科学技巧制订标准的组织。
为了要举一个“标准”的例子(尽管并非由 Ecma 所创造),可以用我们曾用过的键盘来解释。是不是大年夜多半的字母以同样的次序分列,有一个空格键、一个输入键、箭头键,并将数字显示在最膳绫擎的一行?这是因为大年夜多半键盘制造商的键盘设计是基于 QWERTY 构造标准的。
ECMA-262
这是由 Ecma 国际宣布的标准。它包含通用目标的脚本说话的规范。
至于说到浏览器支撑,人们平日会谈到 “ECMAScript 兼容性” 而非“ JavaScript 兼容性”,尽管 JavaScript 引擎解析和履行的是 JavaScript 。这个问题说起来竽暌剐点绕,下面的表格可以对其作出解释。
ECMA-262 是一个类似 QWERTY 的标准,但不合于出现一个键盘层的规范,它出现了被称为 ECMAScript 的脚本说话规范。
脚本说话
一种专门为在一种存在的实体或体系上操作而设计的编程说话。
关于若何使编程说话成为脚本说话的惯例设法主意,请推敲敕令“walk”、“run” 和 “jump”。这些操作须要一些器械来驱动,可能是一小我、一条狗或一个视频游戏角色。如不雅没有操作员来履行这些敕令,“walk”、“run” 和 “jump” 是没有意义的。这组操作类似于专注于把持外部实体的脚本说话。
ECMAScript
The specification defined in ECMA-262 中定义的标准,是用于创建通用目标脚本说话的。
同义词: ECMAScript 规范
然而ECMA-262是标准的名称,它代表了脚本说话规范ECMAScript。
ECMAScript供给脚本说话必须遵守的规矩、细节和准则,这些才是其被视为兼容ECMAScript的断定标准。
JavaScript
一种通用目标的脚本说话,遵守 ECMAScript 规范。
它是 ECMAScript 说话的一个分支版本。
JavaScript 是我爱好编程的咖啡味说话(指代 Java 族,译者注)。ECMAScript 是它所基于的规范。经由过程浏览 ECMAScript 规范,你将学会若何创建脚本说话。经由过程浏览 JavaScript 文档,你将进修若何应用脚本说话。
JavaScript 实现了多半 ECMA-262 中描述的 ECMAScript 规范,但存在少数差别。 Mozilla 在此概述了 JavaScript 的非 ECMAScript 说话功能:
如不雅你还记得的话,ECMAScript 是一份规定了脚本说话可以看起来像什么的规范。宣布一个新的 ECMAScript 版本并不料味着所有现存的 JavaScript 引擎忽然就拥有了这些新功能。这取决于负责那款 JavaScript 引擎的集团或组织是否要更新到最新的 ECMAScript 规范并采取其所带来的变更。
推荐阅读
Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 很多情况下基于wcf的复杂均衡>>>详细阅读
本文标题:一文读懂JavaScript和ECMAScript的区别
地址:http://www.17bianji.com/lsqh/38779.html
1/2 1