javascript - 入門 - typescript ecmascript 2015




JavaScriptとECMAScriptの違いは何ですか? (12)

ECMAScriptとJavaScriptの違いは何ですか? 私が推測したことから、ECMAScriptが標準であり、JavaScriptが実装です。 これは正しいです?


JavaScript = ECMAScript + DOM API ;

  • ECMAScript®言語仕様は、オブジェクト、配列、数値などを作成および編集するためのすべてのロジックを定義します。

  • DOM APIを使用すると、HTML / XML文書(例: document.getElementById('id'); )と通信することができます。

JavaScript命名の歴史:

モカ►ライブスクリプト►JavaScript►(JSの一部)ECMA-262►ECMAScript►JavaScript(ECMAScript + DOM APIで構成)


ECMAScriptは、異なるスクリプト言語を作成するために定義された標準または仕様のことに過ぎず、JavaScriptの1つはJavaScriptです。 これは、ブラウザ間の互換性の唯一の目的で作成されています

標準では、もし誰かが標準の規則に従ってコードを書くと、ブラウザが同じ標準を実装していれば、そのコードはブラウザ(Javaの場合)で正常に動作することが保証されます。

なぜ標準が必要なのですか?

JavascriptがNetscapeによって最初に作成されたとき、市場のすべてのブラウザベンダー間で戦争が起こっていました。 マイクロソフトでは、Internet Explorerに独自のバージョンのjavascriptを実装しています。 同様に、他のブラウザベンダーも独自のバージョンを実装していました。

このすべてが開発者にとって大きな問題を作り出しました.1つのコードはNetscape上で正常に動作しましたが、Internet Explorerでは無駄でした。 クロスブラウザの互換性を解決するために、JavascriptはECMA internationalによって標準化されました。 ECMAscriptという名前です。

すべてのブラウザはECMAスクリプトを実装することに同意しました(ただし、時間がかかりましたが)。

その結果、すべてのブラウザで同じコードが正常に動作するようになりました。

例外はDOM(ドキュメントオブジェクトモデル)です。 DOMはさまざまなブラウザで異なる方法で解釈されます。 しかし、良いニュースがあります。 ゆっくりと、すべてのブラウザが同じDOM標準に準拠しています。


JavaScript ECMAScript言語です。

ECMAScript は必ずしも JavaScriptである必要はありません


JavaScriptは、ECMAScript標準の周りに形成された言語の1つの枝です。 私はECMAが欧州コンピュータ製造業者協会であると信じています。これは本当に関連しているものではありません。

ECMA Scriptの標準で作成された別の一般的な言語を忘れないでください.Adobe Flash / Flexで使用されるActionScriptです。


「JavaScript」という名前がSunによって所有されているという事実でないなら、私たちは「ECMAScript」という言葉を使用することはないだろう。 すべての目的と目的のために、この言語はJavaScriptです。 あなたはECMAScriptの本を探して本屋に行くのではないですか?

「JavaScript」が実装であると言っても過言ではありません。 JScriptはMicrosoftの実装です。


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インタプリタがあります。

ES5 = ECMAScript 5:

  • ES5は、ECMAScript(旧/現行バージョン)のバージョンです。

  • ES5は、今日ブラウザで使用しているJavaScriptです。

  • ES5は、今日のブラウザで動作するものに変換するためのビルドステップ(transpilers)を必要としません。

  • ECMAScriptバージョン5は2009年12月に終了しました。すべての主要ブラウザ(Chrome、Safari、Firefox、IE)の最新バージョンはバージョン5を実装しています。

  • バージョン5.1は2011年6月に終了しました。

ES6 = ECMAScript6 = ES2015 = ECMAScript2015:

  • ES2015は、ECMAScript(新しい/将来のバージョン)のバージョンです。

  • 正式にES6の代わりにES2015という名前を使用する必要があります。

  • ES6は、TypeScriptとCoffeeScriptで扱われる多くの主要な言語の欠点に取り組む予定です。

  • ES6はJavaScriptの次の反復ですが、今日のブラウザでは動作しません。

  • ブラウザで実行するためにES5をエクスポートするトランスポーラーがかなりあります。

BabelJS:

  • BabelJSは、新しいJavaScript ES6を古いJavaScript ES5に変換する最も一般的なトランスバイラです。

  • BabelJSを使用すると、次世代のJavaScriptを今日書くことができます(ES2015を意味します)。

  • BabelJSはES2015ファイルをES5ファイルに変換するだけです。

  • 現在のブラウザバージョンでは、新しいJavaScriptコード(ES2015)がまだサポートされていなくても、理解できます。

TypeScriptとCoffeeScript:

  • どちらもES5の上に構文的な砂糖を提供し、その後、ES5準拠のJavaScriptにトランスコンパイルされます。

  • TypeScriptまたはCoffeeScriptを作成し、次にそれをES5 JavaScriptに変換します。


ECMAScriptすなわちESとは何ですか?

ECMAScriptはスクリプト言語の標準であり、Javascript言語はECMAScript標準に基づいています。

JavascriptはECMAScriptとまったく同じですか?

  • いいえ、JavascriptはECMAScriptとまったく同じではありません。
  • Javascriptの主な機能はECMAScript標準に基づいていますが、JavascriptにはECMA仕様/標準にはないその他の追加機能もあります。

JavaScript = ECMAScript + DOM API;

DOM APIのように: document.getElementById('id');

他の言語はECMAScript標準を使用していますか?

  • はい、ECMAScript標準を実装するJavaScript以外の言語もありJavaScript
  • ActionScript (Adobe Flashで使用)とJScript (Microsoftで使用)は、どちらもECMAScript標準を実装する言語です。

なぜECMAScriptと呼ばれていますか?

  • JavascriptはもともとNetscapeで作成されたもので、言語を標準化したかったのです。 そこで、彼らは言語を標準化のための電子商取引業者M anufacturer's A sociation(ECMA)に提出した。
  • しかし、Javascriptという名前の商標問題があり、その標準はECMAScriptと呼ばれるようになりました。これは今日も保持されています。
  • 商標の問題のため、Microsoftのバージョンの言語はJScriptと呼ばれています.JScriptは、JavaScriptのコアと同じ言語ですが、Javascriptと同じ言語でもあります。

< 更新: > 歴史を気にする人のために

  • 1995:もともとはモカと命名され、Livescriptに変更された
  • 1997年:ECMAScript標準が確立
  • 1999年:ES3が出てIE5が激怒
  • 2000-2005:Outlook Web Access(2000)やOddpost(2002)、Gmail(2004)、Google Maps(2005)などのアプリでXMLHttpRequest、AJAXが人気を集めています。
  • 2009年:forEach、Object.keys、Object.create(特にDouglas Crockfordの場合)、および標準のJSONを使用してES5が出てきます
  • 2015:ES6 / ECMAScript2015が出ます。 人々はより多くの地面を壊すことに同意することができなかったので、ほとんどが構文的な砂糖を持っています(ES7?)

さまざまなJavaScriptバージョンは、ECMAScript標準の実装です。


既存の答えは、要点をかなりうまく言い表します。

要点は、ECMAScriptは、ドメイン固有の拡張機能を持たない裸の抽象的な言語であり、それ自体は役に立たないということです。 このECMAScriptは、言語とその中核オブジェクトのみが定義されています。

JavaScriptやActionScriptなどの方言はドメイン固有のライブラリを追加するので、意味のあるものに使うことができます。

多くのECMAScriptエンジンが存在し、そのうちのいくつかはオープンソースであり、その他は独自仕様です。 それらをあなたのプログラムにリンクさせて、ネイティブ関数をグローバルオブジェクトに追加して、プログラムがスクリプト化できるようにすることができます。 ほとんどの場合、それらはブラウザで使用されます。


私の理解では、ECMAScriptは「理論」または「仕様」であり、Javascriptは「実践的」または「実装」です。


私はこれが古い投稿だと知っていますが、うまくいけば、これは誰かを助けるでしょう。

1990年代には、jsの異なるバージョンが、MicrosoftのJetsスクリプトであるnetscapeのjavascriptのように出てきました。 そこで、ecmascriptが標準として導入されました。 しかし、ecmascriptは、そのコアシンタックス、タイプ、オブジェクトなどを指定するjavascriptの一部だけを形成します。おそらく、diffを越えたjavascriptの実装が一貫していないことを説明します。 ブラウザ

リファレンス - Wrox(Web開発者のためのProfessional Javascript)


私は少し歴史の教訓が必要だと思う。

JavaScriptは当初はMochaと命名され、Livescriptに変更されましたが、最終的にJavaScriptになりました。

ECMAscriptの前にJavaScriptがあることに注意することが重要です。

最初から始めると、JavaScriptはJavaから名前を派生し、最初はBrendan Eich(JSの作成者)にNetscape用のWeb用のJavaに似た言語を開発するよう求められました。

しかし、Eichは、Javaがすべてのルールで複雑すぎると判断し、初心者でもコーディングが可能な単純な言語を作成することに決めました。これは、セミコロンを使用する必要性を緩和するような場合などに明らかです。

言語が完了した後、Netscapeのマーケティングチームは、SunにマーケティングスタントとしてのJavaScriptと名前を付けることを許可し、JavaScriptを一度も使用していない多くの人がJavaに関連していると考える理由をSunに要求しました。

ブラウザでJavaScriptがリリースされてから約1、2年後、MicrosoftのIEはその言語を使い、JScriptなど独自の実装を開始しました。 同時に、IEは市場を支配していましたが、Netscapeがプロジェクトを終了しなければならなかったのはずっと前です。

Netscapeがダウンする前に、ECMAScriptというJavaScriptのパスを導く標準を開始することに決めました。

ECMAScriptにはいくつかのリリースがあり、1999年には彼らが次の10年間冬眠に入る前に最後のバージョン(ECMAScript 3)をリリースしました。 この10年間、マイクロソフトはそのシーンを支配したが、同時に彼らは製品を改善していなかったため、FirefoxはEichによって率いられ、Chrome、Operaなどの他のブラウザのヒープが生まれました。

ECMAScriptは、厳密なモードなどの機能を備えた2009年に第5版をリリースしました(第4版は放棄されました)。 それ以来、ECMAScriptは大きな勢いを得ており、今までの最大の変更を加えて数ヶ月後に第6版をリリースする予定です。

ECMAScript 6の機能一覧はhttp://kangax.github.io/es5-compat-table/es6/とブラウザのサポートを利用できます。 CoffeeScriptのようにEcmascript 6を作成し、コンパイラを使用してEcmascript 5にコンパイルすることもできます。

ECMAScriptが言語であり、JavaScriptが方言であるかどうかは議論の余地がありますが、重要ではありません。 このように考え続けると、あなたを混乱させるかもしれません。 ECMAScriptを実行するコンパイラはありません.JavaScriptはECMAScriptという標準を実装する言語とみなされています。

ECMAScriptを実装する他の顕著な言語もあります(例えば、Flash用)





ecma262