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


117

私はいつもHecKとは何だろうと思っていましたか?!?JScriptとJavaScriptの違いです。


既に指摘されていると思いますが、IEでは、constキーワードを使用して変数を宣言することはできません。const MY_CONSTANT = 10;
dplante 2009年

回答:


82

実際には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 +ゲッターおよびセッター+その他に相当する言語をサポートしています。

15
これは間違っています。JScriptは、JavaScriptにはない構文機能をサポートしていますf(x) = y。詳細については、この質問を参照してください。
Asad Saeeduddin 2013

4
@マラキ私はする必要はありません。パトリックの答えは正しい。
Asad Saeeduddin 2013年

38

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

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

5
f(x) = y私はほとんどのイディオムのバグ!なぜ、ああ、なぜ彼らはただ一緒に行かなかったのですかf[x] = y...
Ates Goral

2
MSはこの時代に彼らのスタンプを追加する必要がありました。それはあなたがそれが良いことを知っている方法です。
チェンバレン

21

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

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

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

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


7
これは質問にまったく答えません。問題は、「JavaScriptとJScriptの違いは何ですか」です。正しい答えは同じことのいくつかのreiterationsの下に埋設されています。
Asad Saeeduddin 2013


7

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

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

言語は同一で、どちらもECMAスクリプトの方言であり、事後基準です。

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


10
別の投稿で概説されているように、どちらの言語も実際には同じではありません。
EFraim 2009


4

この記事によると:

  • 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を解釈するように設計されています。


2
@phrj:これはハンプティダンプティの「オープン」の定義です。AFAIK、それは「直交」を意味します。
Shog9 2008

7
V8より前の時代にJScriptを「高性能」と呼ぶと、私たちがこれまでのところどこまで進んだかがわかります。
Ray Toal

6
2番目のリスト項目は広告資料のように見えます-「オープン実装」は実際には「受け入れるにはオープンマインドでなければならない」ことを意味し、「ハイパフォーマンス」は「ハイパフォーマンスマシンで実行されることを意味する」を意味します。
Camilo Martin

4

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

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

Internet ExplorerはブラウザにJScript(Chakra)エンジンを使用しており、他の人はそのようにしており、すべて共通のコアを使用しています。


2

ウィキペディアは違いについて言うためにこれを持っています。

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


1

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

subtrへの負の最初のパラメータはサポートされていません。たとえば、JavaScript "string".substr(-1)では「g」を返しますが、JScript "string".substr(-1)では「string」を返します。

"string"[0]JavaScriptで「s」を取得することは可能ですが、JScriptはそのような構成をサポートしていません。(実際には、最新のブラウザのみが"string"[0]構造をサポートしているようです。


-5

JscriptはC#に似た.NET言語であり、同じ機能とすべての.NET関数へのアクセスを備えています。

JavaScriptはASPクラシックサーバーで実行されます。クラシックASPを使用して、クライアントで使用しているものと同じJavaScript(HTML5機能を除く)を実行します。ほとんどのコードでは、この方法でコードを1セットしか持っていません。

(他の多くの機能の中で)クラシックASPにないイメージ関数とバイナリファイル関数が必要なときに.ASPX JScriptを実行します。このコードはサーバーに固有ですが、非常に強力です。



-7

JScriptは、MicrosoftJavaScriptに相当するものです。
JavaはOracle製品であり、以前はSun製品でした。

OracleSunを買収しました。

JavaScript + Microsoft = JScript


14
大胆に気楽に行きましょう!
Jowen、2014

なぜJavaなのか?あなたはJavaScriptを意味しました。
Stack0verflow 14

JavaScriptとJavaは同じものではなく、関連もありません。JavaScriptはもともとLiveScriptと呼ばれていました。しかし、Javaの人気を利用するためにJavaScriptに名前が変更されました。名前を共有することは、C言語のような構文言語との類似性は別として、彼らが共有するものの範囲です。
ベーコンブラッド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.