JScript

JScript(ジェイ・スクリプト)は、マイクロソフト製のスクリプト言語であり、Microsoft Windows 上で動作する。

JavaScriptと類似しており、Internet Explorerを使用したクライアントサイドスクリプティング処理、および Internet Information Services (IIS) などを使用したサーバサイドスクリプティング処理を記述することができる。

また、Windows Script Host (WSH) を利用することで、Windows上でのバッチ処理を記述することができる。

拡張子は、通常 .js を使用する。

主な特徴

ECMAScriptJavaScriptと互換性がある。他にJScriptには、以下のような特徴がある。

  • データ型 - JScriptで使用するデータ型は、数値、文字、オブジェクト(日付など)、ブール(真偽)など多様なデータの情報を有することができる。
  • ファイル入出力 - FileSystemObjectを使用することで、ファイルの入出力ができる。
  • アプリケーション制御 - HTML組み込みの場合JScript内部よりVBScript内の関数を呼び出すことが出来る。アプリケーションがActiveXに対応している場合はJScriptで制御が出来る。(例:Word, Excel)

バージョン

JScript

オリジナルのJScriptはActive Scriptingのエンジンである。他のActive Scripting言語と同じようにCOM/OLEオートメーションプラットフォーム上に実装されており、アプリケーションをホストするためのスクリプト機能を提供する。これはInternet Explorerで表示されたウェブページ上で使用されるほか、HTML アプリケーション、古典的ASPWindows Script Host、あるいは他のOLE オートメーション環境などで使用される。より新しい.NETベースのJScriptと混同しないよう注意する必要がある。

注(1): JScriptはJavaScriptと同様、ECMA標準に定義されていない多くの機能をサポートする。

JScriptはWindows CE上でも動作するが、このバージョンにはActive Debuggingがない。

(出典: MSDNWebmasterWorld Forum)

JScript .NET

JScript .NETはJScript.NET Framework向けの実装である。CLS互換のクラスベースの言語であり、以前のJScriptの非常に強力な機能を継承している。 JScript .NETはASP.NETや完全な.NETアプリケーションの開発に使用することができる。 しかし、Visual Studioにおけるサポートがない。

CLR上で動作し、変数に型を指定した場合、C# などの他の .NET Framework 上の言語と同等の速度で動く。 JScript の上位互換であるが、高速モードでコンパイルすると、全ての変数を宣言する必要が出るなど、一部、互換性が無くなる。コンパイラのデフォルトは高速モードである。

JScript .NETは.NET Compact Frameworkではサポートされない。

JScript .NETのバージョンは古典的なJScriptのバージョンとは無関係なことに注意する必要がある。JScript .NETは独立した製品である。 JScript .NETはVisual Studioの統合開発環境でサポートされていないが、そのバージョンは他の.NET言語と共通で、対応するVisual Studioのバージョンに従っている。

.NET Framework 3.0ではJScriptのバージョンは新しくなっていない。 (出典: 各フレームワークに含まれるMicrosoft.JScript.dllのファイルバージョン)

コード例

HTML に埋め込む場合は、以下のように表記する。

 <html>
 <script language="JScript">
 var weekname = new Array('日','月','火','水','木','金','土');
 var date = new Date();
 var str = "";
 str += date.getYear() + "年";
 str += (date.getMonth() + 1) + "月";
 str += date.getDate() + "日";
 str += " (" + weekname[date.getDay()] + ")";
 document.write("現在の日付は" + str + "です");
 </script>
 <body>
 ・・・

また、ActiveXを交えた次のようなコードでファイルを生成することができる。

 // ファイル操作の為のオブジェクトを生成。

 var fso = new ActiveXObject("Scripting.FileSystemObject");
 // もし C:\jscript_test というフォルダが無ければ
 if(! fso.FolderExists("C:\\jscript_test")) {
     // C:\jscript_test を作る。
     var fol = fso.CreateFolder("C:\\jscript_test");
 }
 // .txt のファイル以外でも作成できるという例。
 var fil = fso.CreateTextFile("c:\\jscript_test\\output.html");
 // 作成したファイルに1行書き込む。
 fil.WriteLine("<html><head><title>test</title></head><body>test &lt;b&gt;test&lt;/b&gt;</body></html>");
 // ファイルを開放する。
 fil.close();
 //完了ダイアログを表示。
 WScript.Echo("C:\\jscript_test\\output.html にファイルが作成されました。");

脚注

関連項目

外部リンク

Uses material from the Wikipedia article JScript, released under the CC BY-SA 4.0 license.