web-dev-qa-db-ja.com

JavaScriptとJScriptの違いは何ですか?

私はいつもWHaT tHE HecK?!?はJScriptとJavaScriptの違いだと思っていました。

110
Brian G

実際に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 + Generator + Iterators + let + misc。)
  • Firefox 3.0はJavaScript 1.8をサポートしています(1.7 + Generator Expressions + Expression Closures +その他)
  • Firefoxの次のバージョンはJavaScript 1.9(1.8 +未定)をサポートします
  • OperaはECMAScript 3 + Getters and Setters + miscと同等の言語をサポートしています。
  • Safariは、ECMAScript 3 + Getters and Setters + miscと同等の言語をサポートしています。
78
Zach

私が知る限り、次の2つがあります。

  1. ActiveXObjectコンストラクター
  2. イディオムf(x) = y、これはf [x​​] = yとほぼ同等です。
37
Patrick

ウィキペディアから: http://en.wikipedia.org/wiki/Jscript

JScriptは、ECMAScriptスクリプト言語仕様のMicrosoftの方言です。

JavaScript(ECMA仕様のNetscape/Mozilla実装)、JScript、およびECMAScriptは非常によく似た言語です。実際、ECMAScriptまたはJScriptを指すために「JavaScript」という名前がよく使用されます。

Microsoftは、商標の問題を回避するために、実装にJScriptという名前を使用しています( JavaScriptOracle Corporation の商標です)。

21
casademora

言語であるJavascriptは、Netscapeから最初に登場しました。

マイクロソフトは、Javascriptをリバースエンジニアリングし、Sunとの商標の問題を回避するためにJScriptと呼びました。 (NetscapeとSunは当時提携していたので、これはそれほど問題ではありませんでした)

言語は同一であり、両方とも事後標準であるECMAスクリプトの方言です。

言語は同一ですが、JScriptはInternet Explorerで実行されるため、がアクセスできるブラウザーによって公開されるさまざまなオブジェクト(ActiveXObjectなど)

7
Alan Storm

JScriptは、MicrosoftのECMAScript仕様の実装です。 JavaScriptは、仕様のMozilla実装です。

6
Thomas Owens

JScriptはMicrosoftによるJavascriptの実装です

4
James Boother

this 記事によると:

  • JavaScriptは、クライアントおよびサーバーのインターネットアプリケーションを開発するために設計された、Netscape Communicationsによって開発されたスクリプト言語です。 Netscape Navigatorは、Webページに埋め込まれたJavaScriptを解釈するように設計されています。 JavaScriptは、Sun MicrosystemのJava言語。

  • MicrosoftJScriptは、NetscapeのJavaScriptのオープンな実装です。 JScriptは、World Wide Web用のアクティブなオンラインコンテンツを作成するために設計された高性能スクリプト言語です。開発者は、JScriptを使用して、ActiveXコントロールやJavaプログラムを含む、Webページのさまざまなオブジェクトをリンクおよび自動化できます。MicrosoftInternet Explorerは、Webページに埋め込まれたJScriptを解釈するように設計されています。

4

昔、すべてのブラウザープロバイダーがブラウザー用のJavaScriptエンジンを作成していたので、彼らと神だけがこの内部で何が起こっているのかを知っていました。ある美しい日、ECMAインターナショナルがやって来て言った:共通の基準に基づいてエンジンを作りましょう、生活をもっと簡単で楽しくするために一般的なものを作りましょう、そして彼らはその基準を作りました。すべてのブラウザープロバイダーがECMAScriptコア(標準)に基づいてJavaScriptエンジンを作成するため。

たとえば、Google ChromeはV8エンジンを使用します。これはオープンソースです。ダウンロードして、C++プログラムがJavaScriptのコマンド「印刷」をマシンコードに変換する方法を確認できます。

Internet ExplorerはブラウザーにJScript(Chakra)エンジンを使用します。

3

ウィキペディアには this という違いがあります。

一般に、JScriptは、IE以外のブラウザーによってJavaScriptとして解釈される可能性のあるActiveXスクリプト言語です。

1
erlando

注意すべきいくつかのコードの違いがあります。

Subtrへの負の最初のパラメーターはサポートされていません。 Javascriptの場合:"string".substr(-1)は「g」を返しますが、JScriptの場合は"string".substr(-1)は「string」を返します

"string"[0]でJavascriptの「s」を取得しますが、JScriptはそのような構成をサポートしていません。 (実際には、最新のブラウザのみが"string"[0]コンストラクト。

0
Shiraz