eval 메서드(JScript)
업데이트: 2007년 11월
JScript 코드를 계산하고 실행합니다.
function eval(codeString : String [, override : String])
인수
codeString
필수적 요소. 유효한 JScript 코드가 포함된 문자열입니다.override
선택적 요소. codeString의 코드에 적용할 보안 권한을 결정하는 문자열입니다.
설명
eval 함수를 사용하면 JScript 소스 코드를 동적으로 실행할 수 있습니다.
eval 메서드에 전달된 코드는 eval 메서드가 호출되는 것과 같은 상황에서 실행됩니다. eval 문에 정의된 새 변수나 형식은 포함 프로그램에서 볼 수 없다는 점에 주의합니다.
"unsafe" 문자열이 두 번째 매개 변수로 전달되지 않으면 eval 메서드로 전달된 코드는 제한된 보안 컨텍스트에서 실행됩니다. 제한된 보안 컨텍스트에서는 파일 시스템, 네트워크 또는 사용자 인터페이스 같은 시스템 리소스에 액세스할 수 없습니다. 코드가 이러한 리소스에 액세스하려고 하면 보안 예외가 발생합니다.
eval의 두 번째 매개 변수가 "unsafe" 문자열이면 eval 메서드에 전달된 코드는 호출 코드와 같은 보안 컨텍스트에서 실행됩니다. 두 번째 매개 변수는 대/소문자를 구분하므로 "Unsafe" 또는 "UnSAfE" 문자열은 제한된 보안 컨텍스트를 재정의하지 않습니다.
보안 정보: |
---|
안전하지 않은 모드에서 eval을 사용해야 하는 경우에는 신뢰할 수 있는 소스에서 얻은 코드 문자열만 실행하십시오. |
예제
예를 들어, 다음 코드에서는 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