JavaScript和ECMAScript有什么区别?

JavaScript

十三LEY

2020-03-13

ECMAScript和JavaScript有什么区别?根据我的推论,ECMAScript是标准,JavaScript是实现。它是否正确?

第1439篇《JavaScript和ECMAScript有什么区别?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

12个回答
泡芙神无伽罗 2020.03.13

JavaScript是围绕ECMAScript标准形成的一种语言分支。我相信ECMA是欧洲计算机制造商协会,而不是真的有用或没有其他意义。

不要忘记,围绕ECMA Script标准形成的另一种流行语言是ActionScript,它在Adobe Flash / Flex中使用。

小胖逆天 2020.03.13

现有的答案很好地解释了重点。

要点是ECMAScript是一种纯粹的抽象语言,没有任何特定于领域的扩展,它本身是没有用的。规范仅定义语言及其核心对象。

JavaScript,ActionScript和其他方言向其添加了特定于域的库,因此您可以将其用于有意义的事情。

ECMAScript引擎有很多,其中一些是开源的,其他是专有的。您可以将它们链接到您的程序中,然后将本机函数添加到全局对象中,以便您的程序可编写脚本。尽管最常在浏览器中使用它们。

StafanTony 2020.03.13

我怀疑我们是否曾经使用过“ ECMAScript”一词,如果不是因为名称“ JavaScript”归Sun所有。出于所有目的和目的,该语言是JavaScript。您不去书店寻找ECMAScript书籍,对吗?

说“ JavaScript”是实现有点太简单了。JScript是Microsoft的实现。

小胖TonyLEY 2020.03.13

Javascript是原始名称,旨在利用Java的流行性。ECMA是负责监督最终制定的标准的标准机构,因此名称大致相同。

实现还有其他名称,例如V8或Rhino等。

LEY蛋蛋Near 2020.03.13

JavaScript ECMAScript语言。

ECMAScript 不一定是 JavaScript。

LEYJim 2020.03.13

ECMAScriptJavaScrip t 的标准,请查看MDN的以下语句

在此处输入图片说明

的JavaScript

JavaScript(JS)是具有一流功能的轻量级解释或JIT编译的编程语言。尽管它是最著名的网页脚本语言,但许多非浏览器环境也使用它,例如node.js,Apache CouchDB和Adobe Acrobat。JavaScript是基于原型的,多范式的动态语言,支持面向对象,命令式和声明式(例如,函数式编程)样式。了解有关JavaScript的更多信息。


ECMAScript

JavaScript的标准是ECMAScript截至2012年,所有现代浏览器均完全支持ECMAScript 5.1。较旧的浏览器至少支持ECMAScript3。2015年6月17日,ECMA International发布了ECMAScript的第六个主要版本,正式称为ECMAScript 2015,最初被称为ECMAScript 6或ES6。从那时起,ECMAScript标准每年发布一次。本文档引用了最新的草稿版本,当前为ECMAScript 2018。

欲了解更多信息,请访问这里

阿飞路易 2020.03.13

以我的理解,ECMAScript是“理论”或“规范”,而Javascript是“实践”或“实施”。

null 2020.03.13

我知道这是一个旧帖子,但希望这会对某人有所帮助。

在1990年代,不同版本的js开始出现,就像netscape的javascript和Microsoft的js脚本一样。因此,ecmascript被引入作为标准。但是ecmascript只是javascript的一部分,它指定了它的核心语法,类型,对象等。可能解释了diff中javascript的不一致实现。浏览器

参考-Wrox(适用于Web开发人员的专业Javascript)

Davaid古一 2020.03.13

各种JavaScript版本都是ECMAScript标准的实现。

JinJin乐 2020.03.13

从技术上讲,ECMAScript是每个人都在使用和实现的语言-这是多年前Netscape和Microsoft坐下来并试图标准化JavaScript(Netscape的脚本语言)和JScript(Microsoft的脚本)时创建的规范。

随后,所有这些引擎表面上都实现了ECMAScript,但是JavaScript(名称)现在由于传统的命名原因以及Mozilla作为其各种非标准扩展(他们希望能够真正“版本化”)的营销术语而徘徊。 )

StafanItachi 2020.03.13

我认为有一点历史课是应该的。

JavaScript最初称为Mocha,后来更改为Livescript,但最终成为JavaScript。

请务必注意,JavaScript早于ECMAscript,历史记录会告诉您原因。

从一开始,JavaScript就从Java衍生了它的名字,最初,Brendan Eich(JS的创建者)被要求为Netscape开发一种类似于Java的语言。

然而,Eich认为Java的所有规则都过于复杂,因此着手创建一种甚至初学者也可以编写代码的简单语言。这在诸如放宽对分号的要求之类的事情中显而易见。

语言完成后,Netscape的营销团队要求Sun允许他们将JavaScript命名为营销特技,因此为什么大多数从未使用过JavaScript的人都认为JavaScript与Java有关。

在浏览器中发布JavaScript大约一两年后,微软的IE就采用了该语言,并开始制作自己的实现,例如JScript。同时,IE主导了市场,而Netscape必须关闭其项目不久。

在Netscape崩溃之前,他们决定启动一个名为ECMAScript的标准来指导JavaScript的发展。

ECMAScript有几个版本,1999年他们发布了最后一个版本(ECMAScript 3),然后在接下来的10年中进入休眠状态。在这10年中,Microsoft主导了整个场景,但与此同时,他们并没有提高产品质量,因此Firefox诞生了(由Eich领导)和其他许多浏览器,例如Chrome,Opera。

ECMAScript在2009年发布了第5版(第4版已被放弃),它具有严格模式等功能。从那时起,ECMAScript获得了巨大的发展动力,并计划在从现在起的几个月内发布其第六版,这是迄今为止的最大变化。

您可以在http://kangax.github.io/es5-compat-table/es6/以及浏览器支持中使用ECMAScript 6的功能列表您甚至可以像使用CoffeeScript一样开始编写Ecmascript 6,并使用编译器将其编译为Ecmascript 5。

ECMAScript是语言还是JavaScript是方言是有争议的,但并不重要。如果您继续这样思考,可能会使您感到困惑。那里没有可以运行ECMAScript的编译器,我相信JavaScript被认为是实现称为ECMAScript的标准的语言。

还有其他实现ECMAScript的引人注目的语言,例如ActionScript(用于Flash)

小宇宙神乐GO 2020.03.13

ECMAScript是该语言,而JavaScript,JScript甚至ActionScript 3被称为“方言”。维基百科对此有所启示。

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android