Movatterモバイル変換


[0]ホーム

URL:


跳转到内容
维基百科自由的百科全书
搜索

ECMAScript

本页使用了标题或全文手工转换
维基百科,自由的百科全书
此條目需要更新(2020年6月23日)
請更新本文以反映近況和新增内容。完成修改後請移除本模板。
ECMAScript
编程范型多重編程範式基于原型编程函數程式語言指令式編程
設計者布蘭登·艾克Ecma國際
发行时间1997年,​29年前​(1997
当前版本
    編輯維基數據鏈接
    型態系統弱类型動態
    網站ecma-international.org編輯維基數據鏈接
    主要實作產品
    SpiderMonkeyV8ActionScriptJScriptQtScriptInScript英语InScript (JavaScript engine)
    受影响于
    SelfHyperTalk英语HyperTalkAWKCPerlPythonJavaScheme
    ECMAScript
    扩展名
    .es
    互联网媒体类型
    application/ecmascript
    开发者昇陽電腦公司
    Ecma國際
    首次发布1997年6月,​28年前​(1997-06
    最新版本
    第 13 版
    2022年6月,​3年前​(2022-06
    格式类型脚本語言
    网站ECMA-262ECMA-290
    ECMA-327ECMA-357
    ECMA-402

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

    历史

    [编辑]

    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]

    版本

    [编辑]
    版本发表日期与前版本的差异
    11997年6月首版
    21998年6月格式修正,以使得其形式与ISO/IEC16262国际标准一致
    31999年12月强大的正则表达式,更好的词法作用域链处理,新的控制指令,异常处理,错误定义更加明确,数据输出的格式化及其它改变
    4放棄由於關於語言的複雜性出現分歧,第4版本被放棄,其中的部分成為了第5版本及Harmony的基礎;由ActionScript實現
    52009年12月新增「嚴格模式(strict mode)」,一個子集用作提供更徹底的錯誤檢查,以避免結構出錯。澄清了許多第3版本的模糊規範,並適應了與規範不一致的真實世界實現的行為。增加了部分新功能,如getters及setters,支持JSON以及在物件屬性上更完整的反射[4][5][6][7][8]
    5.12011年6月ECMAScript标5.1版形式上完全一致于国际标准ISO/IEC 16262:2011。
    62015年6月ECMAScript 2015(ES2015),第 6 版,最早被称作是 ECMAScript 6(ES6),添加了类和模块的语法,其他特性包括迭代器,Python风格的生成器和生成器表达式,箭头函数,二进制数据,静态类型数组,集合(maps,sets 和 weak maps),promise,reflection 和 proxies。作为最早的 ECMAScript Harmony 版本,也被叫做ES6 Harmony。
    72016年6月ECMAScript 2016(ES2016),第 7 版,多個新的概念和語言特性[9]
    82017年6月ECMAScript 2017(ES2017),第 8 版,多個新的概念和語言特性[10]
    92018年6月ECMAScript 2018 (ES2018),第 9 版,包含了异步循环,生成器,新的正则表达式特性和 rest/spread 语法。
    102019年6月ECMAScript 2019 (ES2019),第 10 版
    112020年6月ECMAScript 2020 (ES2020),第 11 版
    122021年6月ECMAScript 2021 (ES2021),第 12 版
    132022年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]
    ChakraMicrosoft Edge 18100%96%100%48%
    SpiderMonkeyFirefox 94100%98%100%100%
    Chrome V8Google Chrome 95、Opera 80、Microsoft Edge 95100%98%100%100%
    JavaScriptCore(Nitro)Safari 15100%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. ^Press Release. 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. ^ECMAScript 2017 (ES8): the final feature set. 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. ^ECMAScript 5 相容性列表. kangax.github.io. [2018-11-18]. (原始内容存档于2018-11-19)(英语). 
    13. ^ECMAScript 6 相容性列表. kangax.github.io. [2018-11-18]. (原始内容存档于2018-11-17)(英语). 
    14. ^14.014.1ECMAScript 2016+ 相容性列表. kangax.github.io. [2018-11-18]. (原始内容存档于2018-11-24)(英语). 
    15. ^包括從ES7到下一版草案的綜合評分

    外部連結

    [编辑]
    范型分类
    过程式
    面向对象
    多范型
    函数式
    逻辑式
    脚本语言
    动态语言
    外壳脚本
    客户端脚本
    特定平台
    .NET
    JVM
    特定领域
    科学计算
    GPU计算
    数据查询
    可视化
    传媒设计
    其它语言
    網頁技術與標準
    文档呈现语言
    样式格式描述语言
    动态网页技术
    用戶端互動技术
    用戶端手稿語言
    标识定位语言
    文档纲要语言
    * 代表由W3C制定和维护的标准与规范
    语言
    引擎列表
    引擎比较
    框架
    客户端
    服务器
    多種實作
    函式庫
    人物
    其他
    代码分析
    編譯器
    概念
    调试工具
    文档生成器英语Documentation generator
    編輯器(比较英语Comparison of JavaScript-based source code editors
    引擎
    軟體框架
    相關語言
    相關技術
    軟體套件管理系統
    伺服器端
    單元測試
    人物
    ISO標準
    1–9999
    10000–19999
    20000+
    30000+
    检索自“https://zh.wikipedia.org/w/index.php?title=ECMAScript&oldid=90849738
    分类:​
    隐藏分类:​

    [8]ページ先頭

    ©2009-2026 Movatter.jp