私はいつも一体何だろう?!?と思っていました。JScript と JavaScript の違いです。
12 に答える
実際の ECMAScript の名前が異なるだけです。John Resig の説明が適切です。
完全なバージョンの内訳は次のとおりです。
- IE 6-7 は JScript 5 をサポートします (これは ECMAScript 3、JavaScript 1.5 に相当します)。
- IE 8 は JScript 6 をサポートします (これは ECMAScript 3、JavaScript 1.5 に相当します - JScript 5 よりも多くのバグ修正が行われています)。
- Firefox 1.0 は JavaScript 1.5 (ECMAScript 3 相当) をサポートします。
- Firefox 1.5 は JavaScript 1.6 (1.5 + Array Extras + E4X + その他) をサポートします。
- Firefox 2.0 は JavaScript 1.7 (1.6 + ジェネレーター + イテレーター + let + その他) をサポートします。
- Firefox 3.0 は JavaScript 1.8 (1.7 + ジェネレータ式 + 式クロージャ + その他) をサポートします。
- Firefox の次のバージョンは JavaScript 1.9 (1.8 + 未定) をサポートします
- Opera は、ECMAScript 3 + ゲッターとセッター + その他と同等の言語をサポートしています。
- Safari は、ECMAScript 3 + ゲッターとセッター + その他と同等の言語をサポートしています。
私が知る限り、2つのこと:
- ActiveXObject コンストラクター
- イディオム f(x) = y。これは、f[x] = y とほぼ同等です。
ウィキペディアから: http://en.wikipedia.org/wiki/Jscript
JScript は、ECMAScript スクリプト言語仕様の Microsoft 方言です。
JavaScript (ECMA 仕様の Netscape/Mozilla 実装)、JScript、および ECMAScript は非常によく似た言語です。実際、「JavaScript」という名前は、ECMAScript または JScript を指すためによく使用されます。
Microsoft は、商標の問題を回避するために、その実装に JScript という名前を使用しています ( JavaScriptはOracle Corporationの商標です)。
言語であるJavascriptが最初にNetscapeから登場しました。
MicrosoftはJavascriptをリバースエンジニアリングし、Sunの商標問題を回避するためにJScriptと呼んでいます。(当時、NetscapeとSunは提携していたので、これはそれほど問題ではありませんでした)
言語は同一であり、どちらも事後標準であるECMAスクリプトの方言です。
言語は同じですが、JScriptはInternet Explorerで実行されるため、ブラウザーによって公開されるさまざまなオブジェクト(ActiveXObjectなど)にアクセスできます。
JScript は、ECMAScript 仕様の Microsoft による実装です。JavaScript は、仕様の Mozilla 実装です。
はるか昔、すべてのブラウザー プロバイダーはブラウザー用の JavaScript エンジンを作成していましたが、その内部で何が起こっているかを知っているのは彼らと神だけでした。ある美しい日、ECMA インターナショナルがやって来て、こう言いました。共通の基準に基づいてエンジンを作ろう、生活をより簡単で楽しいものにするための一般的なものを作ろう、そして彼らはその基準を作りました。すべてのブラウザー プロバイダーは、ECMAScript コア (標準) に基づいて JavaScript エンジンを作成しているためです。
たとえば、Google Chrome は V8 エンジンを使用しており、これはオープン ソースです。ダウンロードして、C++ プログラムが JavaScript のコマンド 'print' をマシン コードに変換する方法を確認できます。
Internet Explorer はブラウザーに JScript (Chakra) エンジンを使用し、他のブラウザーはそうしており、すべて共通のコアを使用しています。
JScript は、Javascript の Microsoft 実装です。
この記事によると:
JavaScriptは、クライアントおよびサーバーのインターネット アプリケーションを開発するために設計された、Netscape Communications によって開発されたスクリプト言語です。Netscape Navigator は、Web ページに埋め込まれた JavaScript を解釈するように設計されています。JavaScript は、Sun Microsystem の Java 言語から独立しています。
Microsoft JScriptは、Netscape の JavaScript のオープンな実装です。JScript は、World Wide Web 用のアクティブなオンライン コンテンツを作成するために設計された高性能スクリプト言語です。JScript を使用すると、開発者は ActiveX コントロールや Java プログラムなど、Web ページ内のさまざまなオブジェクトをリンクおよび自動化できます。Microsoft Internet Explorer は、Web ページに埋め込まれた JScript を解釈するように設計されています。
注意すべきコードの違いがいくつかあります。
subtr への負の最初のパラメーターはサポートされていません。たとえば、Javascript"string".substr(-1)
では "g" が返されますが、JScript"string".substr(-1)
では "string" が返されます。
Javascript で "s" を取得することは可能です"string"[0]
が、JScript はそのような構造をサポートしていません。(実際には、最新のブラウザのみがこの"string"[0]
構文をサポートしているようです。
ウィキペディアには、違いについて次のように書かれています。
一般に、JScript は ActiveX スクリプト言語であり、IE 以外のブラウザーではおそらく JavaScript として解釈されます。
JScriptは、MicrosoftのJavaScriptに相当するものです。
Java はOracle製品であり、以前はSun製品でした。
オラクルはサンを買収した。
JavaScript + Microsoft = JScript