eval メソッド (JScript)

更新 : 2007 年 11 月

JScript のコードを評価し、実行します。

function eval(codeString : String [, override : String])

引数

  • codeString
    必ず指定します。有効な JScript コードを含む文字列を指定します。

  • override
    省略可能です。codeString のコードに適用するセキュリティ アクセス許可を決定する文字列を指定します。

解説

eval メソッドを使用すると、JScript ソース コードを動的に実行できます。

eval メソッドに渡されたコードは、eval メソッドを呼び出した場合と同じように実行されます。eval ステートメントで定義されている新しい変数またはデータ型は、外側のプログラムでは参照できません。

eval メソッドに渡されるコードは、文字列 "unsafe" が 2 番目のパラメータとして渡されていない限り、制限付きのセキュリティ コンテキストで実行されます。制限付きのセキュリティ コンテキストでは、ファイル システム、ネットワーク、ユーザー インターフェイスなどのシステム リソースへのアクセスが禁止されます。これらのリソースにアクセスしようとすると、セキュリティ例外が生成されます。

eval の 2 番目のパラメータが文字列 "unsafe" である場合、eval メソッドに渡されるコードは、呼び出し元のコードと同じセキュリティ コンテキストで実行されます。2 番目のパラメータの大文字と小文字は区別されるため、"Unsafe" または "UnSAfE" という文字列を指定しても、制限付きのセキュリティ コンテキストはオーバーライドされません。

b51a45x6.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

eval は、信頼できるソースから取得したコード文字列を実行する場合だけ、unsafe モードで使用してください。

使用例

たとえば、次のコードでは、doTest 変数の値に応じて、変数 mydate をテスト用の日付または現在の日付で初期化します。

var doTest : boolean = true;
var dateFn : String;
if(doTest)
   dateFn = "Date(1971,3,8)";
else
   dateFn = "Date()";

var mydate : Date;
eval("mydate = new "+dateFn+";");
print(mydate);

このプログラムの出力は次のようになります。

Thu Apr 8 00:00:00 PDT 1971

必要条件

Version 1

対象

Global オブジェクト

参照

参照

String オブジェクト