fbpx
维基百科

ECMAScript

ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会)在标准ECMA-262中定义的脚本语言规范。这种语言在万维网上应用广泛,它往往被称为JavaScriptJScript,但实际上后两者是ECMA-262标准的实现和扩展。

ECMAScript
编程范型多重編程範式基于原型编程函數程式語言指令式編程
設計者布蘭登·艾克Ecma國際
发行时间1997年,​25年前​(1997
型態系統弱类型動態
網站ecma-international.org
主要實作產品
SpiderMonkeyV8ActionScriptJScriptQtScriptInScript英语InScript (JavaScript engine)
啟發語言
SelfHyperTalk英语HyperTalkAWKCPerlPythonJavaScheme
ECMAScript
扩展名.es
互联网媒体类型application/ecmascript
开发者昇陽電腦公司
Ecma國際
初始版本1997年6月,​25年前​(1997-06
最新版本
第 13 版
2022年6月,​9個月前​(2022-06
格式类型脚本語言
网站ECMA-262ECMA-290
ECMA-327ECMA-357
ECMA-402

历史

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]

版本

版本 发表日期 与前版本的差异
1 1997年6月 首版
2 1998年6月 格式修正,以使得其形式与ISO/IEC16262国际标准一致
3 1999年12月 强大的正则表达式,更好的词法作用域链处理,新的控制指令,异常处理,错误定义更加明确,数据输出的格式化及其它改变
4 放棄 由於關於語言的複雜性出現分歧,第4版本被放棄,其中的部分成為了第5版本及Harmony的基礎;由ActionScript實現
5 2009年12月 新增「嚴格模式(strict mode)」,一個子集用作提供更徹底的錯誤檢查,以避免結構出錯。澄清了許多第3版本的模糊規範,並適應了與規範不一致的真實世界實現的行為。增加了部分新功能,如getters及setters,支持JSON以及在物件屬性上更完整的反射[4][5][6][7][8]
5.1 2011年6月 ECMAScript标5.1版形式上完全一致于国际标准ISO/IEC 16262:2011。
6 2015年6月 ECMAScript 2015(ES2015),第 6 版,最早被称作是 ECMAScript 6(ES6),添加了类和模块的语法,其他特性包括迭代器,Python风格的生成器和生成器表达式,箭头函数,二进制数据,静态类型数组,集合(maps,sets 和 weak maps),promise,reflection 和 proxies。作为最早的 ECMAScript Harmony 版本,也被叫做ES6 Harmony。
7 2016年6月 ECMAScript 2016(ES2016),第 7 版,多個新的概念和語言特性[9]
8 2017年6月 ECMAScript 2017(ES2017),第 8 版,多個新的概念和語言特性[10]
9 2018年6月 ECMAScript 2018 (ES2018),第 9 版,包含了异步循环,生成器,新的正则表达式特性和 rest/spread 语法。
10 2019年6月 ECMAScript 2019 (ES2019),第 10 版
11 2020年6月 ECMAScript 2020 (ES2020),第 11 版
12 2021年6月 ECMAScript 2021 (ES2021),第 12 版
13 2022年6月 ECMAScript 2022 (ES2022),第 13 版

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 18 100% 96% 100% 48%
SpiderMonkey Firefox 94 100% 98% 100% 100%
Chrome V8 Google Chrome 95、Opera 80、Microsoft Edge 95 100% 98% 100% 100%
JavaScriptCore(Nitro) Safari 15 100% 99% 100% 90%

該測試的內容託管在官方存儲庫 https://github.com/tc39/test262 (页面存档备份,存于互联网档案馆) 中,也可以在 https://v8.github.io/test262/website/default.html (页面存档备份,存于互联网档案馆) 和 https://bakkot.github.io/test262-web-runner/ (页面存档备份,存于互联网档案馆) 上訪問最新的Web瀏覽器測試套件工具。官方存儲庫還指向由社區維護的其他項目測試套件,以測試其他例如 Node.js 的 ECMAScript / JavaScript 環境。

參考文獻

  1. ^ Krill, Paul. JavaScript creator ponders past, future. InfoWorld. 2008-06-23 [2013-10-31]. (原始内容于2014-09-20). 
  2. ^ . Web.archive.org. [2013-10-31]. (原始内容存档于2007-09-16). 
  3. ^ JScript VS JavaScript. About.com. 2015-11-25 [2018-06-30]. (原始内容于2015-11-26). 
  4. ^ ECMA-262 5th Edition: ECMAScript Language Specification (PDF). [2010-04-08]. (原始内容 (PDF)于2015-04-12). 
  5. ^ Changes to JavaScript, Part 1: EcmaScript 5. [2009-07-07]. (原始内容于2011-02-09). 
  6. ^ 存档副本. [2009-07-07]. (原始内容存档于2011-08-22). 
  7. ^ InfoQ: ECMAScript 5正式发布. [2010-04-08]. (原始内容于2010-04-10). 
  8. ^ Javascript面面觀:核心篇《ECMA-262 Edition 5》. [2010-04-08]. (原始内容于2011-02-18). 
  9. ^ ECMAScript 2016 Language Specification. Ecma International. 2016-06 [2016-08-20]. (原始内容于2016-08-20). 
  10. ^ . 2ality. [2018-04-23]. (原始内容存档于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. ^ . kangax.github.io. [2018-11-18]. (原始内容存档于2018-11-19) (英语). 
  13. ^ . kangax.github.io. [2018-11-18]. (原始内容存档于2018-11-17) (英语). 
  14. ^ 14.0 14.1 . kangax.github.io. [2018-11-18]. (原始内容存档于2018-11-24) (英语). 
  15. ^ 包括從ES7到下一版草案的綜合評分

外部連結

  • 官方网站  

ecmascript, 此條目需要更新, 2020年6月23日, 請更新本文以反映近況和新增内容, 完成修改時, 請移除本模板, 是一种由ecma国际, 前身为欧洲计算机制造商协会, 在标准ecma, 262中定义的脚本语言规范, 这种语言在万维网上应用广泛, 它往往被称为javascript或jscript, 但实际上后两者是ecma, 262标准的实现和扩展, 编程范型多重編程範式, 基于原型编程, 函數程式語言, 指令式編程設計者布蘭登, 艾克, ecma國際发行时间1997年, 25年前, 1997, 型態. 此條目需要更新 2020年6月23日 請更新本文以反映近況和新增内容 完成修改時 請移除本模板 ECMAScript 是一种由Ecma国际 前身为欧洲计算机制造商协会 在标准ECMA 262中定义的脚本语言规范 这种语言在万维网上应用广泛 它往往被称为JavaScript或JScript 但实际上后两者是ECMA 262标准的实现和扩展 ECMAScript编程范型多重編程範式 基于原型编程 函數程式語言 指令式編程設計者布蘭登 艾克 Ecma國際发行时间1997年 25年前 1997 型態系統弱类型 動態網站ecma international wbr org主要實作產品SpiderMonkey V8 ActionScript JScript QtScript InScript 英语 InScript JavaScript engine 啟發語言Self HyperTalk 英语 HyperTalk AWK C Perl Python Java SchemeECMAScript扩展名 es互联网 媒体类型application ecmascript开发者昇陽電腦公司Ecma國際初始版本1997年6月 25年前 1997 06 最新版本第 13 版2022年6月 9個月前 2022 06 格式类型脚本語言网站ECMA 262ECMA 290ECMA 327ECMA 357ECMA 402 目录 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 版本 编辑版本 发表日期 与前版本的差异1 1997年6月 首版2 1998年6月 格式修正 以使得其形式与ISO IEC16262国际标准一致3 1999年12月 强大的正则表达式 更好的词法作用域链处理 新的控制指令 异常处理 错误定义更加明确 数据输出的格式化及其它改变4 放棄 由於關於語言的複雜性出現分歧 第4版本被放棄 其中的部分成為了第5版本及Harmony的基礎 由ActionScript實現5 2009年12月 新增 嚴格模式 strict mode 一個子集用作提供更徹底的錯誤檢查 以避免結構出錯 澄清了許多第3版本的模糊規範 並適應了與規範不一致的真實世界實現的行為 增加了部分新功能 如getters及setters 支持JSON以及在物件屬性上更完整的反射 4 5 6 7 8 5 1 2011年6月 ECMAScript标5 1版形式上完全一致于国际标准ISO IEC 16262 2011 6 2015年6月 ECMAScript 2015 ES2015 第 6 版 最早被称作是 ECMAScript 6 ES6 添加了类和模块的语法 其他特性包括迭代器 Python风格的生成器和生成器表达式 箭头函数 二进制数据 静态类型数组 集合 maps sets 和 weak maps promise reflection 和 proxies 作为最早的 ECMAScript Harmony 版本 也被叫做ES6 Harmony 7 2016年6月 ECMAScript 2016 ES2016 第 7 版 多個新的概念和語言特性 9 8 2017年6月 ECMAScript 2017 ES2017 第 8 版 多個新的概念和語言特性 10 9 2018年6月 ECMAScript 2018 ES2018 第 9 版 包含了异步循环 生成器 新的正则表达式特性和 rest spread 语法 10 2019年6月 ECMAScript 2019 ES2019 第 10 版11 2020年6月 ECMAScript 2020 ES2020 第 11 版12 2021年6月 ECMAScript 2021 ES2021 第 12 版13 2022年6月 ECMAScript 2022 ES2022 第 13 版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 18 100 96 100 48 SpiderMonkey Firefox 94 100 98 100 100 Chrome V8 Google Chrome 95 Opera 80 Microsoft Edge 95 100 98 100 100 JavaScriptCore Nitro Safari 15 100 99 100 90 該測試的內容託管在官方存儲庫 https github com tc39 test262 页面存档备份 存于互联网档案馆 中 也可以在 https v8 github io test262 website default html 页面存档备份 存于互联网档案馆 和 https bakkot github io test262 web runner 页面存档备份 存于互联网档案馆 上訪問最新的Web瀏覽器測試套件工具 官方存儲庫還指向由社區維護的其他項目測試套件 以測試其他例如 Node js 的 ECMAScript JavaScript 環境 參考文獻 编辑 Krill Paul JavaScript creator ponders past future InfoWorld 2008 06 23 2013 10 31 原始内容存档于2014 09 20 Press Release Web archive org 2013 10 31 原始内容存档于2007 09 16 JScript VS JavaScript About com 2015 11 25 2018 06 30 原始内容存档于2015 11 26 ECMA 262 5th Edition ECMAScript Language Specification PDF 2010 04 08 原始内容存档 PDF 于2015 04 12 Changes to JavaScript Part 1 EcmaScript 5 2009 07 07 原始内容存档于2011 02 09 存档副本 2009 07 07 原始内容存档于2011 08 22 InfoQ ECMAScript 5正式发布 2010 04 08 原始内容存档于2010 04 10 Javascript面面觀 核心篇 ECMA 262 Edition 5 2010 04 08 原始内容存档于2011 02 18 ECMAScript 2016 Language Specification Ecma International 2016 06 2016 08 20 原始内容存档于2016 08 20 ECMAScript 2017 ES8 the final feature set 2ality 2018 04 23 原始内容存档于2018 04 23 ES5 is the baseline for this test suite The conformance rate for other editions reflects support for new features only not a comprehensive score ECMAScript 5 相容性列表 kangax github io 2018 11 18 原始内容存档于2018 11 19 英语 ECMAScript 6 相容性列表 kangax github io 2018 11 18 原始内容存档于2018 11 17 英语 14 0 14 1 ECMAScript 2016 相容性列表 kangax github io 2018 11 18 原始内容存档于2018 11 24 英语 包括從ES7到下一版草案的綜合評分外部連結 编辑 计算机程序设计主题 官方网站 取自 https zh wikipedia org w index php title ECMAScript amp oldid 76105235, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。