ECMAScript 2019 ES10 草案 2019/02/21
ECMAScript 2018 es9 2018年 6 月底
ECMAScript2017 es8 2017在7月12日
ECMAScript2016 es7 2016年6月19日發布
ECMAScript 2015 es6 2015年6月17日發布
es10
ES10在新語言功能方面沒有ES6那么重要,但它確實添加了一些有趣的東西(其中一些在目前版本的瀏覽器中還不起作用:02/20/2019)
在 ES6 中,箭頭函數無疑是最受歡迎的新特性,在 ES10 中會是什么呢?
- String .matchAll()
- Dynamic import()
- Array .flat() .flatMap()
- Object .fromEntries()
- String .trimStart() .trimEnd()
- well-formed JSON.stringify()
- stable Array .sort()
- new Function .toString()
- Standardized globalThis object
BigInt:任意精度整數
BigInt 是第七種 原始類型。
作者:Fundebug
鏈接:http://www.imooc.com/article/280361
來源:慕課網
ECMAScript 2018(第九版 JS)已於 6 月底正式發布,帶來了許多新特性。
ECMAScript 2018 於今年2月出爐草案,TC39 技術委員會每兩個月開會一次,討論當前草案的現狀。ECMAScript 2018 主要包含內容:
-
異步迭代器:原生支持在 JavaScript 中對異步獲取的數據做迭代。
-
Template Literal(模板字面量):取消 Escape-Sequenzen 限制
-
正則表達式:
-
支持
s (dotAll)
模式 -
Unicode 屬性轉義(Property Escape)
-
支持后行斷言(Lookbehind Assertions)
-
命名捕獲組(named capture group)
ECMAScript 2018 規范 PDF 地址:
https://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
es8
Ecma 國際公布了第八版的 ECMAScript 語言規范 ECMAScript 2017(或 ES8)。
ECMAScript 是標准化的 JavaScript 語言,1997 年發布了第一版,1998 年和 1999 年發布了第二和第三個版本,之后沉寂 了許多年,直到 Ajax 流行起來后標准工作才再次起步,2009 年發布了第五個版本,自 2015 年起每年發布一個版本。
ECMAScript 2017 的主要變化包括:Object.values/Object.entries、字符串填充、Object.getOwnPropertyDescriptor、尾隨逗號、異步函數、共享內存和原子,等。
ECMA 國際批准了第七版的 ECMAScript 語言規范(ECMAScript 2016)。
ECMAScript 是標准化的 JavaScript 語言,1997年發布了第一版,1998年和1999年發布了第二和第三個版本。
之后 ECMAScript 沉寂 了許多年,直到 Ajax 流行起來后標准工作才再次起步。2009年發布了第五個版本,2015年發布了第六個版本。
第七個版本又被稱為 ECMAScript 2016,與第六個版本相比變化並不多,主要是增加了兩個新特性:Array.prototype.include和取冪運算符。
ECMAScript現在每年發布一個新版規范,ECMAScript 2017已在制定之中。
es6
2015年6月17日發布。截止發布日期,JavaScript的官方名稱是ECMAScript 2015,Ecma國際意在更頻繁地發布包含小規模增量更新的新版本,下一版本將於2016年發布,命名為ECMAScript 2016。從現在開始,新版本將按照ECMAScript+年份的形式發布。
S6是繼ES5之后的一次主要改進,語言規范由ES5.1時代的245頁擴充至600頁。ES6增添了許多必要的特性,例如:模塊和類以及一些實用特性,例如Maps、Sets、Promises、生成器(Generators)等。
盡管ES6做了大量的更新,但是它依舊完全向后兼容以前的版本,標准化委員會決定避免由不兼容版本語言導致的“web體驗破碎”。結果是,所有老代碼都可以正常運行,整個過渡也顯得更為平滑,但隨之而來的問題是,開發者們抱怨了多年的老問題依然存在。
///////////////
ECMAScript
Sun(現在的Oracle)公司持有着“Java”和“JavaScript”的商標。這就讓微軟不得不把自己的JavaScript方言稱之為“JScript”。
然后,在這門語言被標准化的時候,就必須使用一個與二者都不同的名字。“ECMAScript”就這樣誕生了,這個名字的來由是因為執行標准化的組織是Ecma國際。
通常來說,術語“ECMAScript”和“JavaScript”指的是同一個東西。
但如果把JavaScript看成是“Mozilla或其他組織的ECMAScript實現”,那么ECMAScript就是實現JavaScript所依據的標准。
ECMA-262
Ecma國際 (一個標准化組織)創建了ECMA-262規范,這個規范就是ECMAScript語言的官方標准。
Ecma第39號技術委員會 (TC39)
是一組開發ECMA-262標准規范的人(Brendan Eich和其他一些人)。
ECMA規范最終由TC39敲定。TC39由包括瀏覽器廠商在內的各方組成,他們開會推動JavaScript提案沿着一條嚴格的發展道路前進。
從提案到入選ECMA規范主要有以下幾個階段:
- Stage 0: strawman——最初想法的提交。
- Stage 1: proposal(提案)——由TC39至少一名成員倡導的正式提案文件,該文件包括API事例。
- Stage 2: draft(草案)——功能規范的初始版本,該版本包含功能規范的兩個實驗實現。
- Stage 3: candidate(候選)——提案規范通過審查並從廠商那里收集反饋
- Stage 4: finished(完成)——提案准備加入ECMAScript,但是到瀏覽器或者Nodejs中可能需要更長的時間。
在 ES6 中,箭頭函數無疑是最受歡迎的新特性,在 ES10 中會是什么呢?
- String .matchAll()
- Dynamic import()
- Array .flat() .flatMap()
- Object .fromEntries()
- String .trimStart() .trimEnd()
- well-formed JSON.stringify()
- stable Array .sort()
- new Function .toString()
- Standardized globalThis object
BigInt:任意精度整數
BigInt 是第七種 原始類型。
作者:Fundebug
鏈接:http://www.imooc.com/article/280361
來源:慕課網