计算机科学

首页 > 计算机科学

ECMAScript

2018-09-05 18:12:11     所属分类:程序设计语言
ECMAScript
编程范型 多重编程范式、基于原型的编程、函数编程语言、指令式编程
设计者 布兰登·艾克、Ecma国际
发行时间 1997年,​21年前​(1997
类型系统 弱类型、动态
网站 ecma-international.org
主要实现产品
SpiderMonkey、V8、ActionScript、JScript、QtScript、InScript
启发语言
Self、HyperTalk、AWK、C、Perl、Python、Java、Scheme
ECMAScript
Crystal source.png
扩展名 .es
互联网媒体类型 application/ecmascript
开发者 太阳微系统公司
Ecma国际
初始版本 1997年6月,​21年前​(1997-06
最新版本
Edition 8
(2017年6月,​14个月前​(2017-06)
格式类型 脚本语言
网站 ECMA-262ECMA-290
ECMA-327ECMA-357
ECMA-402

ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,但实际上后两者是ECMA-262标准的实现和扩展。

目录

  • 1 历史
  • 2 版本
  • 3 兼容性
  • 4 参考文献
  • 5 外部链接

历史

ECMAScript是由网景的布兰登·艾克开发的一种脚本语言的标准化规范;最初命名为Mocha,后来改名为LiveScript,最后重命名为JavaScript[1]。1995年12月,升阳与网景联合发表了JavaScript[2]。1996年11月,网景公司将JavaScript提交给欧洲计算机制造商协会进行标准化。ECMA-262的第一个版本于1997年6月被Ecma组织采纳。ECMAScript是由ECMA-262标准化的脚本语言的名称。

尽管JavaScript和JScript与ECMAScript兼容,但包含超出ECMAScript的功能[3]

版本

至今为止有八个ECMA-262版本发表。

版本 发表日期 与前版本的差异
1 1997年6月 首版
2 1998年6月 格式修正,以使得其形式与ISO/IEC16262国际标准一致
3 1999年12月 强大的正则表达式,更好的词法作用域链处理,新的控制指令,异常处理,错误定义更加明确,数据输出的格式化及其它改变
4 放弃 由于关于语言的复杂性出现分歧,第4版本被放弃,其中的部分成为了第5版本及Harmony的基础
5 2009年12月 新增“严格模式(strict mode)”,一个子集用作提供更彻底的错误检查,以避免结构出错。澄清了许多第3版本的模糊规范,并适应了与规范不一致的真实世界实现的行为。增加了部分新功能,如getters及setters,支持JSON以及在对象属性上更完整的反射[4][5][6][7][8]
6 2015年6月 多个新的概念和语言特性。ECMAScript Harmony将会以“ECMAScript 6”发布
7 2016年6月 多个新的概念和语言特性[9]
8 2017年6月 多个新的概念和语言特性[10]

2004年6月Ecma组织发表了ECMA-357标准,它是ECMAScript的一个扩延,也被称为E4X(ECMAScript for XML)。

兼容性

许多应用程序支持ECMAScript,尤其是网页浏览器。下列表格列出了当前版本的软件与ECMAScript最新版本的兼容性。

脚本引擎 参考应用程序 兼容性[11]
ES5[12] ES6[13] ES7[14] 较新(2016+)[14][15]
Chakra Microsoft Edge 100% 96% 100% 54%
SpiderMonkey Firefox 100% 98% 100% 77%
Chrome V8 Google Chrome、Opera 100% 98% 100% 93%
JavaScriptCore(Nitro) Safari 97% 99% 100% 83%

参考文献

  1. ^ Krill, Paul. JavaScript creator ponders past, future. InfoWorld. 2008-06-23 [2013-10-31]. 
  2. ^ Press Release. Web.archive.org. [2013-10-31]. (原始内容存档于2007-09-16). 
  3. ^ JScript VS JavaScript. About.com. 2015-11-25. 
  4. ^ ECMA-262 5th Edition: ECMAScript Language Specification 页面存档备份,存于互联网档案馆
  5. ^ Changes to JavaScript, Part 1: EcmaScript 5
  6. ^ http://www.ecma-international.org/news/PressReleases/PR_Ecma_finalises_major_revision_of_ECMAScript.htm
  7. ^ InfoQ: ECMAScript 5正式发布
  8. ^ Javascript面面观:核心篇《ECMA-262 Edition 5》
  9. ^ ECMAScript 2016 Language Specification. Ecma International. 2016-06. 
  10. ^ ECMAScript 2017 (ES8): the final feature set. 2ality. [2018-04-23]. 
  11. ^ ES5 is the baseline for this test suite. The conformance rate for other editions reflects support for new features only, not a comprehensive score.
  12. ^ ECMAScript 5 compatibility table. kangax.github.io. [2018-03-19] (英语). 
  13. ^ ECMAScript 6 compatibility table. kangax.github.io. [2018-03-19] (英语). 
  14. ^ 14.0 14.1 ECMAScript 2016+ compatibility table. kangax.github.io. [2018-03-19] (英语). 
  15. ^ Composite score that includes new features from ES7 through next edition drafts

外部链接

  • 官方网站


上一篇:FreeMat
下一篇:Eiffel
相关推荐