はじめに
一般的に JavaScript はウェブブラウザで利用されるスクリプト言語という認識だと思うが、Microsoft 版の JScript は Windows 上で Active Scripting エンジンとして実装されており、WSH などで Windows プログラミングの言語としても利用される。例えば ActiveXObject というコンストラクタを用いて COM コンポーネントを利用することができるが、もちろんこれは JScript の独自拡張である。
JScript を使うにあたり、JavaScript(ECMAScript) との違いを把握しておくことは重要である。厄介なのは JScript が ECMAScript 準拠ではなく、あくまで「ベースにしている」に留まっているという点である。JavaScript としてコーディングする際、JScript だけがおかしな挙動を示すことは珍しくない。ウェブブラウザでの実行を前提とした場合、処理系の違いを吸収するためクロスブラウザを意識することになるが、JScript と JavaScript の違いを把握しておかないとコーディングに苦労することとなるだろう。両者はある程度切り分けて考えておくべきだというのが私の考えである。
ここでは主に Windows プログラミングとしての JScript を扱う。また一般的な JavaScript との違いについても言及していきたい。あくまで趣味範囲での記事内容であり、その正確さについては正式な文書の参照、あるいは各自の環境における動作確認を優先させていただきたい。
もくじ
JScript 用 Include コンポーネント
・JScript ファイルに一行加え、インクルードを実現する方法
・JScript で文字列内の変数を展開する関数を作ってみた
・JScript で関数を動的スコープ化する関数を作ってみた
SFC mini 拡張セット (近日公開予定)
・JScript で Windows API を利用するためのモジュールセット
・機能拡張版 SFC mini (sfcmini.dll) + モジュール (sfcmini.js)
COM コンポーネント用モジュール (近日公開予定)
・JScript から ActiveX コンポーネントではないCOM コンポーネント (IDispatch インターフェイス未実装) を利用する
・モジュール (comobj.js)
一般的に JavaScript はウェブブラウザで利用されるスクリプト言語という認識だと思うが、Microsoft 版の JScript は Windows 上で Active Scripting エンジンとして実装されており、WSH などで Windows プログラミングの言語としても利用される。例えば ActiveXObject というコンストラクタを用いて COM コンポーネントを利用することができるが、もちろんこれは JScript の独自拡張である。
JScript を使うにあたり、JavaScript(ECMAScript) との違いを把握しておくことは重要である。厄介なのは JScript が ECMAScript 準拠ではなく、あくまで「ベースにしている」に留まっているという点である。JavaScript としてコーディングする際、JScript だけがおかしな挙動を示すことは珍しくない。ウェブブラウザでの実行を前提とした場合、処理系の違いを吸収するためクロスブラウザを意識することになるが、JScript と JavaScript の違いを把握しておかないとコーディングに苦労することとなるだろう。両者はある程度切り分けて考えておくべきだというのが私の考えである。
ここでは主に Windows プログラミングとしての JScript を扱う。また一般的な JavaScript との違いについても言及していきたい。あくまで趣味範囲での記事内容であり、その正確さについては正式な文書の参照、あるいは各自の環境における動作確認を優先させていただきたい。
もくじ
JScript 用 Include コンポーネント
・JScript ファイルに一行加え、インクルードを実現する方法
・JScript で文字列内の変数を展開する関数を作ってみた
・JScript で関数を動的スコープ化する関数を作ってみた
SFC mini 拡張セット (近日公開予定)
・JScript で Windows API を利用するためのモジュールセット
・機能拡張版 SFC mini (sfcmini.dll) + モジュール (sfcmini.js)
COM コンポーネント用モジュール (近日公開予定)
・JScript から ActiveX コンポーネントではないCOM コンポーネント (IDispatch インターフェイス未実装) を利用する
・モジュール (comobj.js)