2017-02-24 52 views
4

我正在查閱JavaScript的歷史,發現ECMAScript規範是基於它的。所以JavaScript比ECMAScript更早,但似乎後來成爲該規範的實現。JavaScript的版本號和它們對應的ECMAScript版本是什麼?

所以,我發現了迄今爲止是:

  • 的JavaScript 1.0是第一個版本
  • 的ECMAScript 3在JavaScript 1.5
  • 的ECMAScript 4實現從未完成
  • 的ECMAScript 5用JavaScript實現1.8.5
  • ECMAScript 6於2015年發佈(因此它也被稱爲ECMAScript 2015)
  • ECMAScript 7於2016年發佈(因此它也被稱爲ECMAScript 2016)

版本1.8.5之後JavaScript找不到更高的版本號。哪些版本的JavaScript實現ECMAScript 6或7?

+0

看起來像當前版本的JavaScript只有ESCMA 5兼容。 JavaScript,就像JScript,ActionScript等一樣,實現ECMAScript,因此,並非每一個新版本的ECMAScript都必須有一個實現它的JavaScript實現版本。根據[https://en.wikipedia.org/wiki/JavaScript#Version_history](https://en.wikipedia.org/wiki/JavaScript#Version_history)1.8.5實現了ECMA-262第5版的功能 - 雖然每個瀏覽器可以獨立於其他瀏覽器支持後續功能。 – Nope

+0

看來,在1.8.5之後,所有瀏覽器都放棄了默認的腳本引擎來遵守ECMA腳本。 –

+0

您也在不恰當地混合使用ECMAScript和JavaScript這兩個術語。 ECMAScript x未在_y中實現。 JavaScript是第一個,因此它是標準化後成爲ECMAScript的常用名稱。然而,從那時起,JavaScript就只是ECMAScript的一個過時的別名,你不能把它們看作一邊的規範,而把它看作是另一邊的實際實現。如果您想到實現方案,您可能會談論V8,SunSpider,SpiderMonkey ......他們可能會使用一些附加到版本號的版本,這些版本有一天開始支持ES版本X或Y. – cepharum

回答

4

Wikipedia,JavaScript的特定版本號只使用Firefox和Firefox中被丟棄4.

這些天來,有沒有「的JavaScript的當前版本」真有這樣的事情 - ECMAScript的標準被創建,瀏覽器供應商按照自己的步調將這些功能部署到他們的JS引擎中。這種速度變化很大 - 正如非常有用的Kangax compatibility table所證明的那樣。

4

https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript#JavaScript_versions

棄用。語言特性的顯式版本控制和選擇加入是Mozilla特有的,並且is in process of being removed。 Firefox 4是最後一個涉及JavaScript版本(1.8.5)的版本。隨着新的ECMA標準,JavaScript語言功能現在常與ECMA-262版本的初始定義中提到,如2015年的ECMAScript

與Firefox 5開始,在JavaScript的變化在https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/Firefox_JavaScript_changelog列,但在其他方面沒有版本。

請參閱ECMAScript 2015 support in MozillaECMAScript Next support in Mozilla的列表,其中哪些版本的Firefox可以使用哪些功能。

1

「JavaScript」是用於實施腳本語言的專有品牌名稱。它是由Netscape在20世紀90年代初創建的,與所有語言一樣,多年來都進行了修改。這些修訂版本會跟蹤版本號。今天,JavaScript由Mozilla組織維護,他們繼續發展語言,並通過版本號跟蹤這種發展。然而,很多年前,Netscape希望「JavaScript」被認爲是網絡的官方腳本語言,因此他們找到了「歐洲計算機制造商協會」(ECMA)制定了詳細說明「官方」的規範,語言。該語言(ECMAScript)多年來也進行了修訂,這些修訂版本隨版本號一起提供。人們在他們實際上應該說「ECMAScript」時會說「JavaScript」,所以在隨意對話(有時候並不那麼隨意)中,所有人都會說「JavaScript」。這就像要求「Kleenex」,當你真的只是組織。

今天,我們不再擔心JavaScript版本了。我們只關心運行時環境及其支持的內容。新功能作爲一個整體來實施是很少見的。通常,實現會逐步引入ECMAScript的新功能。

1

事實上,他們停止編號JS版本,只使用ECMAScript版本和ECMAScript年版本(如ES6/ECMAScript2015)。現在JS只被ES標準化。 ES6和ES7僅在ES5上實施。