vbscript와 jscript 같이 사용하기

ASP는 엄밀히 따지면 언어 이름이라구 할수없다. Active Server Page의 준말로서
ms사의 기술적인 패러다임(?)이라구 해야할까..

아무튼 asp는 대표적으로 vbscript를 언어를 주로 사용하고 있다. 우리나라에는 거진
90%이상에 가까울거다. 그러나 asp는 vbscript만 쓰기위한 것만은 아니다.
jscript나 펄,cgi도 사용 가능하다.

그 중에 jscript라구 있다. 기억이 맞는지 모르겠지만 asp3.0버전 때부터 추가된 거로 안다.
jscript는 sun사 ms사의 의뢰를 받아 javascript라는 클라이언트 기반의 언어로 부터 출발한다.
나중에 ms사가 라이센스를 사들여 jscript라고 다시 만들었다.사용법은 클라이언트 기반의
javascript와 별 차이 없다. 다만 클라이언트와 서버라는 구분에 각 개체가 틀리고 추가되거
나 사용하지 못하는 곳만 있을뿐 일상적인 구문은 거의 흡사하다고 보면 된다.(보강하자면
jscript나 vbscript나 둘다 서버,클라이언트 둘다 사용가능하다 크게보면 Microsoft Windows
Script 기술에 속한다.)

jscript는 vbscript의 단점을 커버할수 있는 강력한 언어이나 너무 늧게 나온 탓이라구 할까(?)
이미 대부분은 vbscript를 사용하고 있으니 말이다. 특히 배열관련된 처리나 예외처리는
상당히 매력적이다. 다만 내장함수가 부족함은 있지만 이미 만들어진 널리 퍼진 함수들이
인터넷에 상당히 많으니 쓰는데는 그리 부족함이 없다.(javascript용으로 만들어진 함수를
쓰면 된다.)

asp에는 한페이지에 vbscript와 jscript를 같이 쓸수있는 있다. 이 점은 서로의 장,단점을
보완할수 있다. 예를 들자면 jscript의 장점인 배열이나 예외처리 하는 함수를 만들고
vbscript에서 불러 쓰면된다.
<script language="vbscript" runat="server">
   Response.Write printTest()
</script>

<script language="jscript" runat="server">
function printTest() {
 return "잘보이는가?";
}
</script>

이렇게 같은 페이지에 공존할때에는 필히 태그방식으로 바꾸어 주어야 인식한다.
script태그에 language와 runat속성을 꼭 적어야 한다.

ps : 각 함수간에 값을 전달함에 있어 배열은 제외하고는 아무런 문제가 없다.
배열값을 넘길때는 각 언어 형식에 맞제 vbarray같은 형태로 넘겨야 한다.
자세한 사항은 ms에서 배포하는 윈도우 스크립터 언어 메뉴얼 참조

댓글