JavaScript 是一種基於 ECMAScript 規范的腳本語言,並在此基礎上進行了自己的封裝。ECMAScript 不是一種編程語言,僅僅是一種腳本語言規范,由歐洲計算機協會制定和發布,任何基於此規范實現的腳本語言都要遵守它的約定。
一個常見的問題是,ECMAScript和JavaScript到底是什么關系?
要講清楚這個問題,需要回顧歷史。1996年11月,javascript的創造者Netscape公司,決定將JavaScript提交給國際標准化組織ECMA,希望這種語言能夠成為國際標准。次年,ECMA發布262號標准文件(ECMA-262)的第一版,規定了瀏覽器腳本語言的標准,並將這種語言稱為ECMAScript,這個版本就是1.0版。
該標准從一開始就是針對JavaScript語言制定的,但是之所以不叫JavaScript,有兩個原因。一是商標,Java是Sun公司的商標,根據授權協議,只有Netscape公司可以合法地使用JavaScript這個名字,且JavaScript本身也已經被Netscape公司注冊為商標。二是想體現這門語言的制定者是ECMA,不是Netscape,這樣有利於保證這門語言的開放性和中立性。
因此,ECMAScript和JavaScript的關系是,前者是后者的規格,后者是前者的一種實現(另外的ECMAScript方言還有Jscript和ActionScript)。在日常場合,這兩個詞是可以互換的。