Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript TypedArray의 buffer 속성 완벽 정리

JavaScript에서 buffer 속성은 현재 TypedArray 객체가 참조하고 있는 ArrayBuffer 객체를 반환합니다.

TypedArray는 ArrayBuffer라는 고정 길이의 원시 이진 데이터 버퍼 위에 생성된 뷰(view)입니다. 따라서 buffer 속성을 활용하면 해당 배열이 어떤 이진 데이터 저장소를 기반으로 동작하는지 확인할 수 있으며, 원본 버퍼의 정보(예: 전체 바이트 길이)에도 접근할 수 있습니다.

구문

buffer 속성의 기본 구문은 다음과 같습니다.

obj.buffer;

예제

아래 예제에서는 크기가 156바이트인 ArrayBuffer를 생성한 뒤, 이를 기반으로 Float32Array 객체를 만들고 buffer 속성을 통해 버퍼의 바이트 길이를 확인합니다.

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var buffer = new ArrayBuffer(156);
        var float32 = new Float32Array(buffer);
        document.write(float32.buffer.byteLength);
    </script>
</body>
</html>

출력 결과

위 코드를 실행하면 다음과 같이 원본 ArrayBuffer의 바이트 길이인 156이 출력됩니다.

156

참고로 예제에 사용된 byteLength는 버퍼의 전체 크기를 바이트 단위로 반환하는 속성입니다. Float32Array의 요소 하나는 4바이트를 차지하므로, 이 버퍼에는 최대 39개의 부동소수점 값(156 ÷ 4)을 저장할 수 있습니다.