JScript 8.0 の新機能

更新 : 2007 年 11 月

JScript 8.0 は、Microsoft JScript の後継言語として位置付けられ、Web の言語を使用して Microsoft .NET プラットフォームにすばやく簡単にアクセスできるようにデザインされています。JScript 8.0 の主な役割は、ASP.NET を使用した Web サイトの構築と、.NET Framework のスクリプトを使用したアプリケーションのカスタマイズです。

ECMAScript 規格と互換性のある JScript 8.0 には、コンパイル済みコード、共通言語仕様 (CLS: Common Language Specification) に準拠した言語間サポート、.NET Framework へのアクセスなど、ECMAScript で指定されていない機能も追加されています。Visual Studio .NET 2002 に含まれている JScript .NET では .NET Framework に固有のセキュリティを利用していましたが、JScript .NET 2003 では、eval メソッドの制限付きセキュリティ コンテキストを追加することにより、セキュリティを維持しています。

JScript 8.0 の新機能のいくつかは、CLS を利用します。CLS は、データ型、オブジェクトを公開する方法、オブジェクトを相互運用する方法などを標準化するための規則です。CLS に準拠した言語では、JScript 8.0 で作成したクラス、オブジェクト、およびコンポーネントを使用できます。JScript 開発者は CLS 準拠のプログラミング言語から、データ型などの言語に固有な相違を考慮することなく、クラス、コンポーネント、およびオブジェクトにアクセスできます。JScript 7.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 ステートメント」を参照してください。

参照

概念

JScript プログラマのための追加の技術情報

Visual Basic 言語の新機能

その他の技術情報

修飾子

データ型 (JScript)

ディレクティブ

ステートメント

JScript リファレンス