sitelink1 | http://www.cyworld.com/janggetup/3389458 |
---|---|
sitelink2 | |
sitelink3 | http://1 |
sitelink4 | http://ko |
sitelink5 | |
sitelink6 | http://sitelink1 |
한 프로그램 언어를 다른 언어에서 호출할 때에는 한 언어의 데이터 타입이 다른 언어의
데이터 타입에 어떻게 대응되는지 반드시 고려해야 한다. 예를 들어 java.lang.String과
java.lang.Integer를 Bindings 내부의 변수에 연결한다고 가정하자. 자바스크립트 스크립트가
이들 변수를 사용할 때, 이 스크립트가 보게 되는 값의 데이터 타입은 무엇인가? 그리고 만일
스크립트를 평가한 결과가 자바스크립트 불리언 값이라면 eval()메서드에 의해서 반환된
객체의 타입은 무엇이 되는가?
자바와 자바스크립트의 경위 위의 질문에 대한 답은 꽤 직관적이다.
자바 객체(기본 데이터 타입의 값을 저장하는 방법은 존재하지 않는다.)를 Bindings객체 안에
저장할 때 이것은 자바스크립트로 다음과 같이 변환된다.
-Boolean 객체는 자바스크립트 불리언 값으로 변환된다.
-모든 java.lang.Number 객체는 자바스크립트 숫자로 변환된다.
-자바 Character와 String 객체들은 자바스크립트 문자열로 변환된다.
-자바 null값은 자바스크립트의 null값으로 변환된다.
-다른 모든 자바 객체는 단순히 자바스크립트의 JavaObject 객체로 포장된다.
숫자 변환에 대해서는 자세히 이해하고 넘어가야 할 사항이 있다. 모든 자바 숫자는 자바스크립트
숫자로 변환된다. 여기에는 Byte나 Short, Integer, Long, Float, Double 타입은 물론
java.math.BigInteger와 java.math.BigDouble 등이 포함된다. Infinity나 NaN과 같이 두 언어에서 모두 지원하는 특수한 부동소수점 값들은 서로 간에
변환된다.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
9 |
nashorn ScriptEninge Test Project (war)
![]() | 황제낙엽 | 2021.05.19 | 565 |
8 | javax.script.ScriptEngine 관련 참고사항 (sample java 포함) | 황제낙엽 | 2021.05.09 | 773 |
7 | Java Scripting API: GraalVM 적용해보기 | 황제낙엽 | 2021.05.09 | 336 |
6 |
Java Scripting API: 바인딩과 스크립트 컨텍스트 그리고 실행 성능 개선
![]() | 황제낙엽 | 2021.05.09 | 232 |
5 |
Java Scripting API: 자바에서 자바스크립트의 함수를 호출할 수 있을까?
![]() | 황제낙엽 | 2021.05.09 | 689 |
4 |
Java에서 Nashorn JavaScript 엔진 사용
![]() | 황제낙엽 | 2021.05.09 | 540 |
3 |
PreProcess 실행 (전처리기 만들기)
![]() | 황제낙엽 | 2012.01.04 | 478 |
» | javax.script와 타입변환 | 황제낙엽 | 2012.01.03 | 430 |
1 | Scripting within Java | 황제낙엽 | 2012.01.03 | 393 |