ECMAScriptとは何ですか?


118

Visual Studioでは、スクリプトの種類をJavaScriptに設定すると、これがIntelliSenseのオプションとして表示されます。

Googleをすばやく検索したところ、不完全な結果が出たため、これを使用するのはそれほど人気が​​ないと私は思いました。

  • それは何ですか?
  • 誰かそれを使用しますか? (<script type="text/ecmascript">)
  • どうして?


知ってはECMAScriptとJavascriptの違いはまた、ECMAScriptのを理解するのに役立ちます。
RBT 2017

回答:


169

JavaScriptはECMAScriptのサブセットです。JavaScriptは基本的にECMAScriptをコアとしていますが、その上に構築されています。ActionScript、JavaScript、JScriptなどの言語はすべて、コアとしてECMAScriptを使用します。比較として、AS / JS / JScriptは3つの異なる車ですが、すべて同じエンジンを使用しています。ただし、外観はそれぞれ異なります。また、それぞれにいくつかの変更を加えて、独自にしています。

その歴史は、Brendan EichがMochaを作成し、それがLiveScript、そして後にJavaScriptになったことです。NetscapeがJavaScriptをEcma Internationalに提供に提供しました。これは標準を開発し、ECMA-262別名ECMAScriptに名前が変更されました。

Brendan Eichの「JavaScript」はECMAScriptの方言であるJavaScriptと同じではないことに注意することが重要です。彼はECMAScriptに名前が変更されたコア言語を作成しました。これは、現在ブラウザーベンダーが実装しているJavaScriptとは異なります。

http://en.wikipedia.org/wiki/ECMAScript


33
ECMAScriptがコアである場合、JavascriptはECMAScriptのサブセットになりませんか?
Ryan Amos

15
JavaScriptには(歴史的に)ECMAScriptにはないものがあります。JavaScriptは(歴史的に)ECMAScriptが持っているすべてのものを持っています。したがって、投稿は正しいです。ECMAScriptはJavaScriptのサブセットです。ただし、両方ともかなり近くに保たれています(ActionScriptは、そのルーツはありますが、それほど多くは分岐していないECMAScript言語とは見なされなくなりました)。ESとJSはほぼ同じ意味です。
Nathan Wall

22
「ECMAScriptはJavaScriptのサブセットです」と言っても正確ではないと思います。代わりに、あなたが引用したウィキペディアの記事は、ECMAScriptが標準であり、JavaScriptがその標準のよく知られている実装(拡張機能付き)であることを示しています。
DavidRR 2014年

2
私はあなたが言うECMAScript is a superset of Javascript
つもりだっ

6
JavascriptはECMAScriptを実装し、その上に構築するため、JavascriptはECMAScriptのスーパーセットと言えます。
RayLoveless 2017


32

ECMAScript = ES:

  • ECMAScriptは、スクリプト言語の標準です。

  • JavaScriptのような言語はECMAScript標準に基づいています。

  • ECMA標準は、JavaScript(Netscape)とJScript(Microsoft)が最もよく知られているいくつかの元々のテクノロジーに基づいています。

  • ECMAは、欧州コンピュータ製造業者協会を意味します


反対側:


JavaScript = JS:

  • JavaScriptは、ECMAScript標準の最も一般的な実装です。

  • JavaScriptのコア機能はECMAScript標準に基づいていますが、JavascriptにはECMA仕様/標準にはないその他の追加機能もあります。

  • ActionScriptとJScriptは、ECMAScriptを実装する別の言語です。

  • JavaScriptは標準化のためにECMAに提出されましたが、Javascriptという名前の商標問題のため、標準はECMAScriptと呼ばれるようになりました。

  • すべてのブラウザーにはJavaScriptインタープリターがあります。


このチェックアウトの詳細については、ここで私の完全な回答をご覧ください。JavaScriptとECMAScriptの違いは何ですか?


ほとんどすべてのブラウザーがJavaScriptをサポートしていますが、リンクやlynxのようなCLIブラウザーが多くありません。そのほかに、links2、w3m、elinks、edbrowseがあります。ほとんどのCLIブラウザーはJSもサポートしていません。
Cassio Seffrin

16

ECMAは-European Computer Manufacturer's Associationの略です。ECMAScriptは、スクリプト言語の標準です。スクリプト言語が提供すべきコア機能とそれらの機能の実装方法を指定します。JavascriptはもともとNetscapeで作成されたもので、言語を標準化したいと考えていました。したがって、彼らは標準化のためにその言語を欧州コンピュータ製造業者協会(ECMA)に提出しました。しかし、Javascriptという名前には商標の問題があり、この標準はECMAScriptと呼ばれるようになりました。

<script type="text/ecmascript">)を指定すると、WebブラウザーがECMAScript解釈をサポートするため、ECMA標準を実装する任意のスクリプト言語を使用できます。


2

ECMAはJavaScriptを標準化した組織です。彼らは言語をECMAScriptと名付けましたが、「JavaScript」は「名前の競争」を勝ち取った用語です


1

このトピックに関する別の見方を示します。それは多かれ少なかれ経験からであり、私は何も引用することができません。JavaScriptバリデーターとJavaScriptを使用するすべての人は、

alert("hello World");

有効なJavaScriptです。そして私も同意します。

ただし、alert()はECMAScriptの一部ではなく、ブラウザー用のJavaScriptの通常の機能であるため、ECMAScriptバリデーターはおそらく無効であることを通知します。JavaScriptには、ブラウザー環境でのみ意味を持つ多くの機能があります。fiwindow.navigator、window.document、WebSocket、navigator.geolocationです。HTML5は単なるマークアップ言語であるため、これはJavaScriptの一部ではなく、HTML5の一部であると言う人もいます。ただし、JavaScriptで実装されている場合でも、これらの豪華な新機能はHTML5と呼ばれます。

JavaScriptは、サーバー側のスクリプトにも使用できます。その場合、すべてのgeolcationまたはメディアAPIは意味がありません。そのため、サーバー側スクリプト用のJavaScriptは、この典型的なブラウザー機能を備えていないECMAScriptにかなり近くなっています。

Mathオブジェクト(Math.sqrt(9)など)がECAMScriptの一部であるかどうか、またはECMAScriptが実際に言語の構文を定義しているだけで、組み込みの機能がないかどうか、私は本当にわかりませんでした。しかし、1つのECMAScriptバリデーターはMath.sqrt(9)を有効なECMAScriptとして受け入れましたが、var test = window.document; ECMA検証に失敗しました。

次のリンクはJavaScriptドキュメントにリンクしていますが、私の意見では、これはECMAScriptの組み込み機能セット(オブジェクトと関数)です:https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference / Global_Objects

そのため、私の意見では、JavaScriptはブラウザーに非常に密接に結びついていますが、ECMAScriptには、実際には非常に基本的な機能セットしかありません(あるとしても)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.