JScript 10.0 の新機能
JScript 10.0 は、Web の言語を使用して Microsoft .NET Framework にすばやく簡単にアクセスできるようにデザインされています。 JScript 10.0 の主な役割は、ASP.NET を使用した Web サイトの構築と、.NET Framework のスクリプトを使用したアプリケーションのカスタマイズです。
JScript 10.0 は、コンパイル済みコード、共通言語仕様 (CLS: Common Language Specification) に準拠した言語間サポート、.NET Framework へのアクセスなどの機能を備えています。
JScript 10.0 の一部の機能では CLS を利用します。CLS は、データ型、オブジェクトを公開する方法、オブジェクトを相互運用する方法などを標準化するための一連の規則です。 CLS に準拠した言語では、JScript 10.0 で作成したクラス、オブジェクト、およびコンポーネントを使用できます。 JScript 開発者は CLS 準拠のプログラミング言語から、データ型などの言語に固有な相違を考慮することなく、クラス、コンポーネント、およびオブジェクトにアクセスできます。 JScript 10.0 プログラムが使用する CLS 機能には、名前空間、属性、参照渡しによるパラメーター、およびネイティブな配列があります。
JScript .NET および JScript 8.0 の新機能のいくつかを次に示します。
JScript 8.0 の新機能
- /platform コンパイラ オプション
/platform オプションは、出力ファイルがターゲットとするプロセッサの種類を指定するために使用します。x86 は、32 ビットの Intel 互換プロセッサを指定します。Itanium は、Intel の 64 ビット プロセッサを指定します。x64 は、AMD の 64 ビット プロセッサを指定します。 既定値 (anycpu) を使用すると、あらゆるプラットフォームで出力ファイルを実行できるようになります。
JScript .NET 2003 の新機能
- eval メソッドの制限付きセキュリティ コンテキスト
セキュリティを維持するため、組み込みの eval メソッドは、呼び出し元のアクセス許可に関係なく、制限付きセキュリティ コンテキストでスクリプトを既定で実行します。 省略可能な 2 番目のパラメーターに "unsafe" を指定して eval を呼び出すと、スクリプトは呼び出し元のアクセス許可で実行されます。これにより、ファイル システム、ネットワーク、またはユーザー インターフェイスにアクセスできます。 詳細については、「eval メソッド」を参照してください。
JScript .NET 2002 の新機能
クラス ベースのオブジェクト
JScript .NET は、JScript と同様に、プロトタイプ ベースのオブジェクトによって継承をサポートします。 JScript .NET では、オブジェクトのデータと動作を定義するクラスを宣言できるようにすることで、クラス ベースのオブジェクトもサポートしています。 JScript .NET で作成されたクラスは、他の .NET 言語で使用および拡張できます。 クラスは、基本クラスのプロパティとメソッドを継承できます。 いくつかの属性は、動作と参照可能範囲を変更するクラスおよびクラス メンバーに適用できます。 詳細については、「クラス ベースのオブジェクト」を参照してください。JScript のデータ型
JScript .NET では、JScript と同様に、変数のデータ型を指定せずにプログラムを記述できます。 また、すべての変数を特定のデータ型に連結する、型指定の厳密な言語として使用したり、型指定された変数と型指定されていない変数を混在させることもできます。 JScript .NET では、多くの新しいデータ型が用意されています。 クラスと .NET 型もデータ型として使用できます。 詳細については、「JScript のデータ型」を参照してください。条件付きコンパイル
ディレクティブは、JScript .NET プログラムのコンパイルを制御します。 たとえば @debug ディレクティブは、スクリプトの特定の部分に対して、デバッグ情報の出力をオンまたはオフにします。 詳細については、「@debug ディレクティブ」を参照してください。 @position ディレクティブは、デバッガー用に現在の行の行番号を設定します。 詳細については、「@position ディレクティブ」を参照してください。 これらのディレクティブはどちらも、他のスクリプトに組み込まれるコードを記述する場合に役立ちます。 詳細については、「条件付きコンパイル」を参照してください。JScript の名前空間
名前空間を使用すると、クラス、インターフェイス、およびメソッドが階層で整理され、名前の競合が起こらなくなります。 JScript .NET では、独自の名前空間を定義できます。 JScript .NET から、独自に定義した名前空間を含め、任意の .NET Framework 名前空間にもアクセスできます。 package ステートメントを使用すると、開発が簡単になるように関連するクラスをパッケージ化して、名前の競合を避けることができます。 詳細については、「package ステートメント」を参照してください。 import ステートメントは、スクリプトが .NET Framework 名前空間を利用できるようにして、スクリプトが名前空間のクラスおよびインターフェイスにアクセスできるように、します。 詳細については、「import ステートメント」を参照してください。JScript の変数と定数
JScript .NET には、定数値を表す識別子を定義する、const ステートメントが用意されています。 詳細については、「JScript の変数と定数」を参照してください。列挙型
JScript .NET には、列挙型を作成できる enum ステートメントが用意されています。 列挙型を使用して、データ型の値にわかりやすい名前を指定できます。 詳細については、「enum ステートメント」を参照してください。