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

JavaScript TypedArray.byteLength 속성 완벽 정리

TypedArray 객체의 byteLength 속성은 해당 타입 배열의 길이를 바이트(byte) 단위로 나타냅니다. 이 값은 뷰(view)가 참조하는 ArrayBuffer 내에서 실제로 차지하는 메모리 크기를 의미하며, 읽기 전용 속성입니다.

문법(Syntax)

사용 문법은 다음과 같습니다.

typedArray.byteLength;

byteLength는 함수가 아니라 속성이므로, 괄호 없이 직접 접근하여 값을 읽습니다.

예제(Example)

<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.byteLength);
   </script>
</body>
</html>

출력 결과(Output)

156

코드 설명

위 예제에서는 먼저 156바이트 크기의 ArrayBuffer를 생성한 뒤, 그 위에 Float32Array 뷰를 만들었습니다. Float32Array는 요소 하나당 4바이트를 사용하므로, 이 배열은 총 39개의 부동소수점 숫자를 저장할 수 있습니다. 따라서 float32.byteLength는 전체 버퍼 크기인 156을 반환합니다.

참고로 배열의 요소 개수를 알고 싶다면 length 속성을, 바이트 단위 크기가 필요하다면 byteLength 속성을 사용하면 됩니다. 또한 기반이 되는 ArrayBuffer가 분리(detached)된 상태라면 byteLength는 0을 반환한다는 점도 기억해 두면 좋습니다.