2010-11-24 9 views
13

スクリプトタグをECMAとして定義するとどうなりますか?それは別の標準に実行されますか?JavascriptとECMAスクリプトの違いは何ですか?

誰かが実際にまっすぐなJavascriptではなくECMAスクリプトを使用していますか?

+2

重複しているかどうかわかりませんが、今日の質問です。http://stackoverflow.com/questions/4269150/what-is-ecmascriptこれはほぼ同じタイトルの質問です。http:// stackoverflow .com/questions/912479/javascriptとecmascriptの違いは – user113716

+0

質問と回答:http://stackoverflow.com/questions/912479/what-is-the-difference-between-javascript -and-ecmascript –

+0

JavaScriptとECMAScriptの違いを説明する良いリンクが見つかりました:https://medium.freecodecamp.org/whats-the-difference-between-javascript-and-ecmascript-cba48c73a2b5 –

答えて

27

ECMAScriptは標準です。 JavaScriptは、その標準(より厳密にはその規格の第3版)の実装です。

ECMAScriptのその他の実装は、ActionScriptとJScriptです。

JavaScriptもありません。各JavaScriptエンジンは、ECMAScriptの要件を満たしていれば、独自のバージョンの言語を実装できます。つまり、ブラウザ(JSエンジン)に追加機能がありますが、すべてにはECMAScriptの基本機能が必要です。

RFC 4329によれば、application/javascriptではなくapplication/ecmascriptに設定されている場合は、より厳しい基準に準拠する必要があります。

この文書では、等価 タイプのtext/javascriptのための処理要件、テキスト/ ECMAScriptの、及び/ JavaScriptの アプリケーションを定義します。メディアタイプ application/ecmascriptの使用と の使用は、他のメディアよりもかなり少なく、 です。 タイプがこの文書で定義されています。このドキュメントの を使用すると、このドキュメント は、このタイプがより相互運用性の高い処理を促進するために、より厳密な処理ルールを定義しています。

+0

使用しないでください'application/*'をスクリプトの型として使うと、IEはそのことを知ります。 –

+0

良い点ですが、私は 'text/*'ではなく 'application/*'を使って、RFCの勧告に従いたいと思っていました。あなたが 'text/*'で置き換えた場合、引数は引き続き適用されます。 –

+0

私は正確に従っていない。標準では、シンタックスと(Javaのインターフェースのような)共通の機能セットを意味しています。そして、ある実装では、say、lambdasなどの追加のものが許可される可能性があります。 –

3

ECMAScriptは、lispのようなプログラミング言語の標準です。 Javascriptは、DOMのようなECMAScript以外の機能と共に、そのような実装です。 ActionScript(Flash用)は別のものです。 "Lisp"の記述はCommon LispやSchemeのような方言を書くのと同じように、実際にまっすぐなECMAScriptを書くのは意味がないだけでなく、方言では使えないかもしれません(ActionScript 3と最近のJavaScriptはECMAScript標準全体を適用します) 。

関連する問題