티스토리 뷰

오늘은 다양한 스크립트 엔진 중에서 자바로 만들어진 Rhino애서 TypedArray 사용하는 방법을 말하고자한다.


ArrayBuffer는 ECMAScript6에서 TypedArray라는 이름으로 처음 등장했다.

이는 바이너리 데이터를 처리하는 배열이라고 생각하면 편할 것이다.


근데 이게 Rhino에서는 ECMAScript6가 반영이 안된건지 뭔지는 모르게 TypedArray를 사용할 수 가 없다.

TypedArray를 사용하면 undefine가 뜬다. 


그럼 어떻게 사용해야 할까?  

rhino-1.7.7.1.1 버전 기준으로는 NativeTypedArray이라는 Package를 사용하여 ECMAScript6와 같이 TypedArray를 사용 가능하다.

TypedArray를 사용할 js에 아래와 같이 추가하면 ECMAScript6에서와 같이 사용 가능하다.

 Uint8Array = Packages.org.mozilla.javascript.typedarrays.NativeUint8Array;
 ArrayBuffer = Packages.org.mozilla.javascript.typedarrays.NativeArrayBuffer;


ECMAScript6 와 Package 의 TypedArray는 미묘하게 다른점들이 있으니, 멤버 메소드를 사용할 때, 찾아보고 확인해보자.


간략한 예로

ECMAScript6

var buf = new ArrayBuffer(8);

var bufView = new Uint8Array(buf);


rhino Package

var buf = new ArrayBuffer(8);

var bufView = new Uint8Array(buf0buf.length);


Uint8Array를 사용할 때 인자값이 좀더 추가되는 것을 볼 수 있다.

ECMAScript6에서는 둘다 가능한 인스턴스화이나 rhino에서는 아래만 가능하다.

'programming > javascript' 카테고리의 다른 글

[js] promise  (0) 2017.05.15
[js] 자바스크립트 String -> Buffer 변환 TypedArray 사용하기  (0) 2017.03.17
[js] 프로토타입  (0) 2017.03.04
[js] 디자인패턴 - 1  (0) 2017.03.04
[js] 정규식으로 한글 체크  (0) 2017.03.03
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함